Reorder, add slit 2, configure
r1400 | dcl | 2007-01-15 09:14:10 +1100 (Mon, 15 Jan 2007) | 2 lines
This commit is contained in:
@@ -1,72 +1,149 @@
|
|||||||
|
set slit2active 0
|
||||||
# Setup addresses of Galil DMC2280 controllers.
|
# Setup addresses of Galil DMC2280 controllers.
|
||||||
set dmc2280_controller1(host) mc1-koala
|
set dmc2280_controller2(host) mc2-koala
|
||||||
set dmc2280_controller1(port) pmc1-koala
|
set dmc2280_controller2(port) pmc2-koala
|
||||||
|
|
||||||
# Run slit homing routines
|
# Run slit homing routines
|
||||||
#if [catch {dmc_connect dmc2280_controller1} ] {
|
#if [catch {dmc_connect dmc2280_controller2} ] {
|
||||||
# dmc_sendCmd dmc2280_controller1 "XQ#HOME,1"
|
# dmc_sendCmd dmc2280_controller2 "XQ#HOME,1"
|
||||||
# dmc_close dmc2280_controller1
|
# dmc_close dmc2280_controller2
|
||||||
#}
|
#}
|
||||||
#if [catch {dmc_connect dmc2280_controller1} ] {
|
#if [catch {dmc_connect dmc2280_controller2} ] {
|
||||||
# dmc_sendCmd dmc2280_controller1 "XQ#HOME,1"
|
# dmc_sendCmd dmc2280_controller2 "XQ#HOME,1"
|
||||||
# dmc_close dmc2280_controller1
|
# 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 20180
|
||||||
|
|
||||||
|
#Measured slit gap, in units, after homing on limit switches
|
||||||
|
set s1vGap 128
|
||||||
|
set s1hGap 53
|
||||||
|
set s2vGap 205
|
||||||
|
set s2hGap 51
|
||||||
|
|
||||||
|
#Measured offset for centre opening in units, positive up
|
||||||
|
set s1vOff 0
|
||||||
|
|
||||||
|
set s1uHome [expr $s1vGap/2*$slitStepRate]
|
||||||
|
set s1dHome [expr $s1vGap/2*$slitStepRate]
|
||||||
|
set s1rHome [expr $s1hGap/2*$slitStepRate]
|
||||||
|
set s1lHome [expr $s1hGap/2*$slitStepRate]
|
||||||
|
set s2uHome [expr $s2vGap/2*$slitStepRate]
|
||||||
|
set s2dHome [expr $s2vGap/2*$slitStepRate]
|
||||||
|
set s2rHome [expr $s2hGap/2*$slitStepRate]
|
||||||
|
set s2lHome [expr $s2hGap/2*$slitStepRate]
|
||||||
|
|
||||||
#Default upper and lower ranges for vertical slits
|
#Default upper and lower ranges for vertical slits
|
||||||
set vertSlitLowRange 25
|
set vertSlitLowRange 60
|
||||||
set vertSlitUpRange 95
|
set vertSlitUpRange 60
|
||||||
|
|
||||||
#Default upper and lower ranges for horizontal slits
|
#Default upper and lower ranges for horizontal slits
|
||||||
set horSlitLowRange 20
|
set horSlitLowRange 25
|
||||||
set horSlitUpRange 25
|
set horSlitUpRange 25
|
||||||
|
|
||||||
Motor ss1u DMC2280 [params \
|
Motor ss1r DMC2280 [params \
|
||||||
host $dmc2280_controller1(host)\
|
host $dmc2280_controller2(host)\
|
||||||
port $dmc2280_controller1(port)\
|
port $dmc2280_controller2(port)\
|
||||||
axis G\
|
axis A\
|
||||||
units mm\
|
units mm\
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
stepsPerX -20125\
|
stepsPerX -$slitStepRate\
|
||||||
motorHome 2040518]
|
motorHome $s1rHome]
|
||||||
|
setHomeandRange -motor ss1r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
|
||||||
|
|
||||||
|
Motor ss1l DMC2280 [params \
|
||||||
|
host $dmc2280_controller2(host)\
|
||||||
|
port $dmc2280_controller2(port)\
|
||||||
|
axis B\
|
||||||
|
units mm\
|
||||||
|
maxSpeed 1\
|
||||||
|
maxAccel 1\
|
||||||
|
maxDecel 1\
|
||||||
|
stepsPerX -$slitStepRate\
|
||||||
|
motorHome $s1lHome]
|
||||||
|
setHomeandRange -motor ss1l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
|
||||||
|
|
||||||
|
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 $s1uHome]
|
||||||
setHomeandRange -motor ss1u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
|
setHomeandRange -motor ss1u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
|
||||||
|
|
||||||
Motor ss1d DMC2280 [params \
|
Motor ss1d DMC2280 [params \
|
||||||
host $dmc2280_controller1(host)\
|
host $dmc2280_controller2(host)\
|
||||||
port $dmc2280_controller1(port)\
|
port $dmc2280_controller2(port)\
|
||||||
axis H\
|
axis D\
|
||||||
units mm\
|
units mm\
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
stepsPerX -20125\
|
stepsPerX -$slitStepRate\
|
||||||
motorHome 2040518]
|
motorHome $s1dHome]
|
||||||
setHomeandRange -motor ss1d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
|
setHomeandRange -motor ss1d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
|
||||||
|
|
||||||
Motor ss1l DMC2280 [params \
|
if {$slit2active} {
|
||||||
host $dmc2280_controller1(host)\
|
Motor ss2r DMC2280 [params \
|
||||||
port $dmc2280_controller1(port)\
|
host $dmc2280_controller2(host)\
|
||||||
|
port $dmc2280_controller2(port)\
|
||||||
axis E\
|
axis E\
|
||||||
units mm\
|
units mm\
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
stepsPerX -20125\
|
stepsPerX -$slitStepRate\
|
||||||
motorHome 542093]
|
motorHome $s2rHome]
|
||||||
setHomeandRange -motor ss1l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
|
setHomeandRange -motor ss2r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
|
||||||
|
|
||||||
Motor ss1r DMC2280 [params \
|
Motor ss2l DMC2280 [params \
|
||||||
host $dmc2280_controller1(host)\
|
host $dmc2280_controller2(host)\
|
||||||
port $dmc2280_controller1(port)\
|
port $dmc2280_controller2(port)\
|
||||||
axis F\
|
axis B\
|
||||||
units mm\
|
units mm\
|
||||||
maxSpeed 1\
|
maxSpeed 1\
|
||||||
maxAccel 1\
|
maxAccel 1\
|
||||||
maxDecel 1\
|
maxDecel 1\
|
||||||
stepsPerX -20125\
|
stepsPerX -$slitStepRate\
|
||||||
motorHome 542093]
|
motorHome $s2lHome]
|
||||||
setHomeandRange -motor ss1r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
|
setHomeandRange -motor ss2l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange
|
||||||
|
|
||||||
|
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 $s2uHome]
|
||||||
|
setHomeandRange -motor ss2u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
|
||||||
|
|
||||||
|
Motor ss2d DMC2280 [params \
|
||||||
|
host $dmc2280_controller2(host)\
|
||||||
|
port $dmc2280_controller2(port)\
|
||||||
|
axis H\
|
||||||
|
units mm\
|
||||||
|
maxSpeed 1\
|
||||||
|
maxAccel 1\
|
||||||
|
maxDecel 1\
|
||||||
|
stepsPerX -$slitStepRate\
|
||||||
|
motorHome $s2dHome]
|
||||||
|
setHomeandRange -motor ss2d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange
|
||||||
|
}
|
||||||
|
|
||||||
#--------------------------------------------------------
|
#--------------------------------------------------------
|
||||||
proc ss1widthscript {val} {
|
proc ss1widthscript {val} {
|
||||||
@@ -156,5 +233,96 @@ MakeConfigurableMotor ss1vo
|
|||||||
ss1vo drivescript ss1vertoffsetscript
|
ss1vo drivescript ss1vertoffsetscript
|
||||||
ss1vo readscript ss1readvertoffset
|
ss1vo readscript ss1readvertoffset
|
||||||
###############################################
|
###############################################
|
||||||
|
if {$slit2active} {
|
||||||
|
#--------------------------------------------------------
|
||||||
|
proc ss2widthscript {val} {
|
||||||
|
set currentWidth [expr [SplitReply [ss2r]] + [SplitReply [ss2l]]]
|
||||||
|
set diff [expr $val - $currentWidth]
|
||||||
|
set newD1R [expr [SplitReply [ss2r]] + $diff/2]
|
||||||
|
set newD1L [expr [SplitReply [ss2l]] + $diff/2]
|
||||||
|
return "ss2r=$newD1R,ss2l=$newD1L"
|
||||||
|
}
|
||||||
|
publish ss2widthscript user
|
||||||
|
|
||||||
|
#-------------------------------------------------------
|
||||||
|
proc ss2readwidth {} {
|
||||||
|
return [expr [SplitReply [ss2r]] + [SplitReply [ss2l]]]
|
||||||
|
}
|
||||||
|
publish ss2readwidth user
|
||||||
|
MakeConfigurableMotor ss2hg
|
||||||
|
ss2hg drivescript ss2widthscript
|
||||||
|
ss2hg readscript ss2readwidth
|
||||||
|
|
||||||
|
#--------------------------------------------------------
|
||||||
|
proc ss2horoffsetscript {val} {
|
||||||
|
set SR [SplitReply [ss2r]]
|
||||||
|
set SL [SplitReply [ss2l]]
|
||||||
|
set currentOffset [ expr $SR - ($SR + $SL)/2.0 ]
|
||||||
|
set diff [expr $val - $currentOffset]
|
||||||
|
set newD1R [expr $SR + $diff]
|
||||||
|
set newD1L [expr $SL - $diff]
|
||||||
|
return "ss2r=$newD1R,ss2l=$newD1L"
|
||||||
|
}
|
||||||
|
publish ss2horoffsetscript user
|
||||||
|
|
||||||
|
#-------------------------------------------------------
|
||||||
|
proc ss2readhoroffset {} {
|
||||||
|
set SR [SplitReply [ss2r]]
|
||||||
|
return [ expr $SR - ($SR + [SplitReply [ss2l]])/2.0 ]
|
||||||
|
}
|
||||||
|
publish ss2readhoroffset user
|
||||||
|
|
||||||
|
#-------------------------------------------------------
|
||||||
|
MakeConfigurableMotor ss2ho
|
||||||
|
ss2ho drivescript ss2horoffsetscript
|
||||||
|
ss2ho readscript ss2readhoroffset
|
||||||
|
|
||||||
|
#-----------------------------------------------------
|
||||||
|
proc ss2heightscript {val} {
|
||||||
|
set currentWidth [expr [SplitReply [ss2u]] + [SplitReply [ss2d]]]
|
||||||
|
set diff [expr $val - $currentWidth]
|
||||||
|
set newD1B [expr [SplitReply [ss2d]] + $diff/2]
|
||||||
|
set newD1T [expr [SplitReply [ss2u]] + $diff/2]
|
||||||
|
return "ss2d=$newD1B,ss2u=$newD1T"
|
||||||
|
}
|
||||||
|
publish ss2heightscript user
|
||||||
|
|
||||||
|
#-------------------------------------------------------
|
||||||
|
proc ss2readheight {} {
|
||||||
|
return [expr [SplitReply [ss2u]] + [SplitReply [ss2d]]]
|
||||||
|
}
|
||||||
|
publish ss2readheight user
|
||||||
|
|
||||||
|
#---------------------------------------------------------
|
||||||
|
MakeConfigurableMotor ss2vg
|
||||||
|
ss2vg drivescript ss2heightscript
|
||||||
|
ss2vg readscript ss2readheight
|
||||||
|
|
||||||
|
#--------------------------------------------------------
|
||||||
|
proc ss2vertoffsetscript {val} {
|
||||||
|
set SU [SplitReply [ss2u]]
|
||||||
|
set SD [SplitReply [ss2d]]
|
||||||
|
set currentOffset [ expr $SU - ($SU + $SD)/2.0 ]
|
||||||
|
set diff [expr $val - $currentOffset]
|
||||||
|
set newD1U [expr $SU + $diff]
|
||||||
|
set newD1D [expr $SD - $diff]
|
||||||
|
return "ss2u=$newD1U,ss2d=$newD1D"
|
||||||
|
}
|
||||||
|
publish ss2vertoffsetscript user
|
||||||
|
|
||||||
|
#-------------------------------------------------------
|
||||||
|
proc ss2readvertoffset {} {
|
||||||
|
set SU [SplitReply [ss2u]]
|
||||||
|
return [ expr $SU - ($SU + [SplitReply [ss2d]])/2.0 ]
|
||||||
|
}
|
||||||
|
publish ss2readvertoffset user
|
||||||
|
|
||||||
|
#-------------------------------------------------------
|
||||||
|
MakeConfigurableMotor ss2vo
|
||||||
|
ss2vo drivescript ss2vertoffsetscript
|
||||||
|
ss2vo readscript ss2readvertoffset
|
||||||
|
###############################################
|
||||||
|
}
|
||||||
# END MOTOR CONFIGURATION
|
# END MOTOR CONFIGURATION
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user