Make like an echidna
r2595 | dcl | 2008-05-29 14:54:42 +1000 (Thu, 29 May 2008) | 2 lines
This commit is contained in:
@ -1,27 +1,27 @@
|
||||
set slit2active 0
|
||||
set slit2active 1
|
||||
|
||||
# START MOTOR CONFIGURATION
|
||||
|
||||
set animal koala
|
||||
#set sim_mode [SplitReply [motor_simulation]]
|
||||
set sim_mode false
|
||||
|
||||
# Setup addresses of Galil DMC2280 controllers.
|
||||
set dmc2280_controller2(host) mc2-$animal
|
||||
set dmc2280_controller2(port) pmc2-$animal
|
||||
set dmc2280_controller2(port) 1044
|
||||
|
||||
# Run slit homing routines
|
||||
#if [catch {dmc_connect dmc2280_controller2} ] {
|
||||
# dmc_sendCmd dmc2280_controller2 "XQ#HOME,1"
|
||||
# dmc_close dmc2280_controller2
|
||||
#}
|
||||
#if [catch {dmc_connect dmc2280_controller2} ] {
|
||||
# dmc_sendCmd dmc2280_controller2 "XQ#HOME,1"
|
||||
# dmc_close dmc2280_controller2
|
||||
#}
|
||||
|
||||
#
|
||||
#TD at upper switches
|
||||
# 1048508, 1062259, 2651595, 2644121, 1017903, 1041617, 2715943, 2683888
|
||||
#
|
||||
|
||||
#Measured or computed slit motor steps per unit (mm)
|
||||
set slitStepRate 20125
|
||||
if {$sim_mode == "true"} {
|
||||
set motor_driver_type asim
|
||||
} else {
|
||||
set motor_driver_type DMC2280
|
||||
MakeAsyncQueue mc2 DMC2280 $dmc2280_controller2(host) $dmc2280_controller2(port)
|
||||
}
|
||||
|
||||
#Measured or computed slit motor steps per millimetre
|
||||
# 125 steps * 161:1 gears = 20125
|
||||
set slitStepRate 20125
|
||||
|
||||
#Measured slit gap, in units, after homing on limit switches
|
||||
set ss1h_Gap 52.6
|
||||
@ -46,104 +46,203 @@ set vertSlitUpRange 64
|
||||
set horSlitLowRange 25
|
||||
set horSlitUpRange 25
|
||||
|
||||
Motor ss1r DMC2280 [params \
|
||||
host $dmc2280_controller2(host)\
|
||||
port $dmc2280_controller2(port)\
|
||||
#Default upper and lower ranges for vertical slits
|
||||
set vSlitHome 0
|
||||
set vSlitLoRange 20
|
||||
set vSlitHiRange 100
|
||||
|
||||
#Default upper and lower ranges for horizontal slits
|
||||
set hSlitHome 0
|
||||
set hSlitLoRange 15
|
||||
set hSlitHiRange 35
|
||||
|
||||
#calculate individual slit motor low ranges
|
||||
set ss1r_LoRange [expr $hSlitHome - $hSlitLoRange]
|
||||
set ss1l_LoRange [expr $hSlitHome - $hSlitHiRange]
|
||||
set ss1u_LoRange [expr $vSlitHome - $vSlitLoRange]
|
||||
set ss1d_LoRange [expr $vSlitHome - $vSlitHiRange]
|
||||
set ss2r_LoRange [expr $hSlitHome - $hSlitLoRange]
|
||||
set ss2l_LoRange [expr $hSlitHome - $hSlitHiRange]
|
||||
set ss2u_LoRange [expr $vSlitHome - $vSlitLoRange]
|
||||
set ss2d_LoRange [expr $vSlitHome - $vSlitHiRange]
|
||||
|
||||
#calculate individual slit motor high ranges
|
||||
set ss1r_HiRange [expr $hSlitHome + $hSlitHiRange]
|
||||
set ss1l_HiRange [expr $hSlitHome + $hSlitLoRange]
|
||||
set ss1u_HiRange [expr $vSlitHome + $vSlitHiRange]
|
||||
set ss1d_HiRange [expr $vSlitHome + $vSlitLoRange]
|
||||
set ss2r_HiRange [expr $hSlitHome + $hSlitHiRange]
|
||||
set ss2l_HiRange [expr $hSlitHome + $hSlitLoRange]
|
||||
set ss2u_HiRange [expr $vSlitHome + $vSlitHiRange]
|
||||
set ss2d_HiRange [expr $vSlitHome + $vSlitLoRange]
|
||||
|
||||
set slit1VGroup first/vertical
|
||||
set slit1HGroup first/horizontal
|
||||
set slit2VGroup second/vertical
|
||||
set slit2HGroup second/horizontal
|
||||
# set movecount high to reduce the frequency of
|
||||
# hnotify messages to a reasonable level
|
||||
set move_count 10
|
||||
|
||||
# Slit 1, right
|
||||
Motor ss1r $motor_driver_type [params \
|
||||
asyncqueue mc2\
|
||||
axis A\
|
||||
units mm\
|
||||
hardlowerlim $ss1r_LoRange\
|
||||
hardupperlim $ss1r_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
stepsPerX -$slitStepRate\
|
||||
motorHome $ss1r_Home]
|
||||
setHomeandRange -motor ss1r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
|
||||
ss1r softlowerlim $ss1r_LoRange
|
||||
ss1r softupperlim $ss1r_HiRange
|
||||
ss1r home 0
|
||||
ss1r movecount $move_count
|
||||
ss1r part aperture.first
|
||||
ss1r long_name right
|
||||
|
||||
Motor ss1l DMC2280 [params \
|
||||
host $dmc2280_controller2(host)\
|
||||
port $dmc2280_controller2(port)\
|
||||
Motor ss1l $motor_driver_type [params \
|
||||
asyncqueue mc2\
|
||||
axis B\
|
||||
units mm\
|
||||
hardlowerlim $ss1l_LoRange\
|
||||
hardupperlim $ss1l_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
stepsPerX $slitStepRate\
|
||||
motorHome $ss1l_Home]
|
||||
ss1l softlowerlim $ss1l_LoRange
|
||||
ss1l softupperlim $ss1l_HiRange
|
||||
ss1l home 0
|
||||
ss1l movecount $move_count
|
||||
ss1l part aperture.first
|
||||
ss1l long_name left
|
||||
|
||||
Motor ss1u $motor_driver_type [params \
|
||||
asyncqueue mc2\
|
||||
axis C\
|
||||
units mm\
|
||||
hardlowerlim $ss1u_LoRange\
|
||||
hardupperlim $ss1u_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
stepsPerX -$slitStepRate\
|
||||
motorHome $ss1l_Home]
|
||||
setHomeandRange -motor ss1l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
|
||||
motorHome $ss1u_Home]
|
||||
ss1u softlowerlim $ss1u_LoRange
|
||||
ss1u softupperlim $ss1u_HiRange
|
||||
ss1u home 0
|
||||
ss1u movecount $move_count
|
||||
ss1u part aperture.first
|
||||
ss1u long_name top
|
||||
|
||||
Motor ss1u DMC2280 [params \
|
||||
host $dmc2280_controller2(host)\
|
||||
port $dmc2280_controller2(port)\
|
||||
axis C\
|
||||
units mm\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
stepsPerX -$slitStepRate\
|
||||
motorHome $ss1u_Home]
|
||||
setHomeandRange -motor ss1u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
|
||||
|
||||
Motor ss1d DMC2280 [params \
|
||||
host $dmc2280_controller2(host)\
|
||||
port $dmc2280_controller2(port)\
|
||||
Motor ss1d $motor_driver_type [params \
|
||||
asyncqueue mc2\
|
||||
axis D\
|
||||
units mm\
|
||||
hardlowerlim $ss1d_LoRange\
|
||||
hardupperlim $ss1d_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
stepsPerX -$slitStepRate\
|
||||
stepsPerX $slitStepRate\
|
||||
motorHome $ss1d_Home]
|
||||
setHomeandRange -motor ss1d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
|
||||
ss1d softlowerlim $ss1d_LoRange
|
||||
ss1d softupperlim $ss1d_HiRange
|
||||
ss1d home 0
|
||||
ss1d movecount $move_count
|
||||
ss1d part aperture.first
|
||||
ss1d long_name bottom
|
||||
|
||||
if {$slit2active} {
|
||||
Motor ss2r DMC2280 [params \
|
||||
host $dmc2280_controller2(host)\
|
||||
port $dmc2280_controller2(port)\
|
||||
# Slit 2, right
|
||||
Motor ss2r $motor_driver_type [params \
|
||||
asyncqueue mc2\
|
||||
axis E\
|
||||
units mm\
|
||||
hardlowerlim $ss2r_LoRange\
|
||||
hardupperlim $ss2r_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
stepsPerX -$slitStepRate\
|
||||
motorHome $ss2r_Home]
|
||||
setHomeandRange -motor ss2r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
|
||||
ss2r softlowerlim $ss2r_LoRange
|
||||
ss2r softupperlim $ss2r_HiRange
|
||||
ss2r home 0
|
||||
ss2r movecount $move_count
|
||||
ss2r part aperture.second
|
||||
ss2r long_name right
|
||||
|
||||
Motor ss2l DMC2280 [params \
|
||||
host $dmc2280_controller2(host)\
|
||||
port $dmc2280_controller2(port)\
|
||||
axis B\
|
||||
Motor ss2l $motor_driver_type [params \
|
||||
asyncqueue mc2\
|
||||
axis F\
|
||||
units mm\
|
||||
hardlowerlim $ss2l_LoRange\
|
||||
hardupperlim $ss2l_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
stepsPerX $slitStepRate\
|
||||
motorHome $ss2l_Home]
|
||||
ss2l softlowerlim $ss2l_LoRange
|
||||
ss2l softupperlim $ss2l_HiRange
|
||||
ss2l home 0
|
||||
ss2l movecount $move_count
|
||||
ss2l part aperture.second
|
||||
ss2l long_name left
|
||||
|
||||
# Slit 2, up
|
||||
Motor ss2u $motor_driver_type [params \
|
||||
asyncqueue mc2\
|
||||
axis G\
|
||||
units mm\
|
||||
hardlowerlim $ss2u_LoRange\
|
||||
hardupperlim $ss2u_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
stepsPerX -$slitStepRate\
|
||||
motorHome $ss2l_Home]
|
||||
setHomeandRange -motor ss2l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
|
||||
motorHome $ss2u_Home]
|
||||
ss2u softlowerlim $ss2u_LoRange
|
||||
ss2u softupperlim $ss2u_HiRange
|
||||
ss2u home 0
|
||||
ss2u movecount $move_count
|
||||
ss2u part aperture.second
|
||||
ss2u long_name top
|
||||
|
||||
Motor ss2u DMC2280 [params \
|
||||
host $dmc2280_controller2(host)\
|
||||
port $dmc2280_controller2(port)\
|
||||
axis G\
|
||||
units mm\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
stepsPerX -$slitStepRate\
|
||||
motorHome $ss2u_Home]
|
||||
setHomeandRange -motor ss2u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
|
||||
|
||||
Motor ss2d DMC2280 [params \
|
||||
host $dmc2280_controller2(host)\
|
||||
port $dmc2280_controller2(port)\
|
||||
Motor ss2d $motor_driver_type [params \
|
||||
asyncqueue mc2\
|
||||
axis H\
|
||||
units mm\
|
||||
hardlowerlim $ss2d_LoRange\
|
||||
hardupperlim $ss2d_HiRange\
|
||||
maxSpeed 1\
|
||||
maxAccel 1\
|
||||
maxDecel 1\
|
||||
stepsPerX -$slitStepRate\
|
||||
stepsPerX $slitStepRate\
|
||||
motorHome $ss2d_Home]
|
||||
setHomeandRange -motor ss2d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
|
||||
ss2d softlowerlim $ss2d_LoRange
|
||||
ss2d softupperlim $ss2d_HiRange
|
||||
ss2d home 0
|
||||
ss2d movecount $move_count
|
||||
ss2d part aperture.second
|
||||
ss2d long_name bottom
|
||||
|
||||
}
|
||||
|
||||
make_gap_motors ss1vg gap ss1vo offset ss1u ss1d mm $slit1VGroup
|
||||
make_gap_motors ss1hg gap ss1ho offset ss1r ss1l mm $slit1HGroup
|
||||
|
||||
if {$slit2active} {
|
||||
make_gap_motors ss2vg gap ss2vo offset ss2u ss2d mm $slit2VGroup
|
||||
make_gap_motors ss2hg gap ss2ho offset ss2r ss2l mm $slit2HGroup
|
||||
}
|
||||
|
||||
if {0} {
|
||||
#--------------------------------------------------------
|
||||
proc ss1widthscript {val} {
|
||||
set currentWidth [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
|
||||
@ -320,6 +419,7 @@ publish ss2readvertoffset user
|
||||
MakeConfigurableMotor ss2vo
|
||||
ss2vo drivescript ss2vertoffsetscript
|
||||
ss2vo readscript ss2readvertoffset
|
||||
}
|
||||
###############################################
|
||||
}
|
||||
# END MOTOR CONFIGURATION
|
||||
|
Reference in New Issue
Block a user