474 lines
10 KiB
Tcl
474 lines
10 KiB
Tcl
# $Revision: 1.1 $
|
|
# $Date: 2006-05-08 22:31:50 $
|
|
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
|
|
# Last revision by: $Author: ffr $
|
|
|
|
#START SERVER CONFIGURATION SECTION
|
|
installprotocolhandler
|
|
# Use this to create an array of named parameters to inilise motors.
|
|
proc params {args} {
|
|
upvar 1 "" x;
|
|
if [info exists x] {unset x}
|
|
eval "array set x [list $args]"
|
|
}
|
|
|
|
ServerOption statusfile log/status.tcl
|
|
ServerOption RedirectFile log/stdout
|
|
ServerOption LogFileBaseName log/serverlog
|
|
ServerOption LogFileDir log
|
|
ServerOption QuieckPort 60004
|
|
ServerOption ServerPort 60003
|
|
ServerOption InterruptPort 60002
|
|
ServerOption TelWord sicslogin
|
|
ServerOption TelnetPort 60001
|
|
ServerOption ReadUserPasswdTimeout 600000
|
|
ServerOption AcceptTimeOut 10
|
|
ServerOption ReadTimeOut 10
|
|
SicsUser manager ansto 1
|
|
SicsUser user sydney 2
|
|
SicsUser spy 007 3
|
|
MakeDataNumber SicsDataNumber data/DataNumber
|
|
VarMake SicsDataPath Text Internal
|
|
SicsDataPath data/
|
|
SicsDataPath lock
|
|
VarMake SicsDataPrefix Text Internal
|
|
SicsDataPrefix smp
|
|
SicsDataPrefix lock
|
|
VarMake SicsDataPostFix Text Internal
|
|
SicsDataPostFix .hdf
|
|
SicsDataPostFix lock
|
|
VarMake Title Text User
|
|
VarMake Sample Text User
|
|
VarMake User Text User
|
|
VarMake starttime Text User
|
|
VarMake currentfile Text User
|
|
VarMake batchroot Text User
|
|
VarMake Instrument Text Internal
|
|
Instrument HRPD
|
|
Instrument lock
|
|
MakeDrive
|
|
#END SERVER CONFIGURATION SECTION
|
|
|
|
########################################
|
|
# INSTRUMENT SPECIFIC CONFIGURATION
|
|
|
|
#XXX WHICH CONTROLLER DO ECHI AND EPHI BELONG TO
|
|
#Motor echi DMC2280 [params \
|
|
# host hhh\
|
|
# port ppp\
|
|
# axis A\
|
|
# stepsPerX XXX\
|
|
# absEnc 1\
|
|
# absEncHome YYY\
|
|
# cntsPerX ZZZ]
|
|
#echi hardlowerlim 0
|
|
#echi hardupperlim 360
|
|
#echi softlowerlim 0
|
|
#echi softupperlim 360
|
|
#echi home 0
|
|
|
|
#Motor ephi DMC2280 [params \
|
|
# host hhh\
|
|
# port ppp\
|
|
# axis A?\
|
|
# stepsPerX XXX\
|
|
# absEnc 1\
|
|
# absEncHome YYY\
|
|
# cntsPerX ZZZ]
|
|
#ephi hardlowerlim 0
|
|
#ephi hardupperlim 360
|
|
#ephi softlowerlim 0
|
|
#ephi softupperlim 360
|
|
#ephi home 0
|
|
|
|
# Setup addresses of Galil DMC2280 controllers.
|
|
set dmc2280_controller1(host) 137.157.201.66
|
|
set dmc2280_controller1(port) 1034
|
|
|
|
set dmc2280_controller2(host) localhost
|
|
#set dmc2280_controller2(host) 137.157.201.67 1034
|
|
set dmc2280_controller2(port) 1034
|
|
|
|
set dmc2280_controller3(host) localhost
|
|
#set dmc2280_controller3(host) 137.157.201.67
|
|
set dmc2280_controller3(port) 1035
|
|
#set dmc2280_controller3(port) 1034
|
|
|
|
set dmc2280_controller4(host) 137.157.201.68
|
|
set dmc2280_controller4(port) 1034
|
|
|
|
#Motor mth DMC2280 [params \
|
|
# host $dmc2280_controller1(host)\
|
|
# port $dmc2280_controller1(port)\
|
|
# axis X?\
|
|
# stepsPerX XXX\
|
|
# absEnc 1\
|
|
# absEncHome YYY\
|
|
# cntsPerX ZZZ]
|
|
#mth hardlowerlim -180
|
|
#mth hardupperlim 180
|
|
#mth softlowerlim -180
|
|
#mth softupperlim 180
|
|
#mth home 0
|
|
#
|
|
#Motor mom DMC2280 [params \
|
|
# host $dmc2280_controller1(host)\
|
|
# port $dmc2280_controller1(port)\
|
|
# axis X?\
|
|
# stepsPerX XXX\
|
|
# absEnc 1\
|
|
# absEncHome YYY\
|
|
# cntsPerX ZZZ]
|
|
#mom hardlowerlim -180
|
|
#mom hardupperlim 180
|
|
#mom softlowerlim -180
|
|
#mom softupperlim 180
|
|
#mom home 0
|
|
#
|
|
#Motor mtth DMC2280 [params \
|
|
# host $dmc2280_controller1(host)\
|
|
# port $dmc2280_controller1(port)\
|
|
# axis X?\
|
|
# stepsPerX XXX\
|
|
# absEnc 1\
|
|
# absEncHome YYY\
|
|
# cntsPerX ZZZ]
|
|
#mtth hardlowerlim 85
|
|
#mtth hardupperlim 155
|
|
#mtth softlowerlim 85
|
|
#mtth softupperlim 155
|
|
#mtth home 120
|
|
#
|
|
#Motor mchi DMC2280 [params \
|
|
# host $dmc2280_controller1(host)\
|
|
# port $dmc2280_controller1(port)\
|
|
# axis X?\
|
|
# stepsPerX XXX\
|
|
# absEnc 1\
|
|
# absEncHome YYY\
|
|
# cntsPerX ZZZ]
|
|
#mchi hardlowerlim 70
|
|
#mchi hardupperlim 110
|
|
#mchi softlowerlim 70
|
|
#mchi softupperlim 110
|
|
#mchi home 90
|
|
#
|
|
#Motor mphi DMC2280 [params \
|
|
# host $dmc2280_controller1(host)\
|
|
# port $dmc2280_controller1(port)\
|
|
# axis X?\
|
|
# stepsPerX XXX\
|
|
# absEnc 1\
|
|
# absEncHome YYY\
|
|
# cntsPerX ZZZ]
|
|
#mphi hardlowerlim -20
|
|
#mphi hardupperlim 20
|
|
#mphi softlowerlim -20
|
|
#mphi softupperlim 20
|
|
#mphi home 0
|
|
#
|
|
#Motor mx DMC2280 [params \
|
|
# host $dmc2280_controller1(host)\
|
|
# port $dmc2280_controller1(port)\
|
|
# axis X?\
|
|
# stepsPerX XXX\
|
|
# absEnc 1\
|
|
# absEncHome YYY\
|
|
# cntsPerX ZZZ]
|
|
#mx hardlowerlim -20
|
|
#mx hardupperlim 20
|
|
#mx softlowerlim -20
|
|
#mx softupperlim 20
|
|
#mx home 0
|
|
#
|
|
#Motor my DMC2280 [params \
|
|
# host $dmc2280_controller1(host)\
|
|
# port $dmc2280_controller1(port)\
|
|
# axis X?\
|
|
# stepsPerX XXX\
|
|
# absEnc 1\
|
|
# absEncHome YYY\
|
|
# cntsPerX ZZZ]
|
|
#my hardlowerlim -20
|
|
#my hardupperlim 20
|
|
#my softlowerlim -20
|
|
#my softupperlim 20
|
|
#my home 0
|
|
#
|
|
#Motor mr DMC2280 [params \
|
|
# host $dmc2280_controller1(host)\
|
|
# port $dmc2280_controller1(port)\
|
|
# axis X?\
|
|
# stepsPerX XXX\
|
|
# absEnc 1\
|
|
# absEncHome YYY\
|
|
# cntsPerX ZZZ]
|
|
#mr hardlowerlim HLL
|
|
#mr hardupperlim HUL
|
|
#mr softlowerlim SLL
|
|
#mr softupperlim SUL
|
|
#mr home 0
|
|
#
|
|
#Motor pc1 DMC2280 [params \
|
|
# host $dmc2280_controller1(host)\
|
|
# port $dmc2280_controller1(port)\
|
|
# axis F\
|
|
# stepsPerX XXX]
|
|
#pc1 hardlowerlim HLL
|
|
#pc1 hardupperlim HUL
|
|
#pc1 softlowerlim SLL
|
|
#pc1 softupperlim SUL
|
|
#pc1 home 0
|
|
#
|
|
#Motor pc2 DMC2280 [params \
|
|
# host $dmc2280_controller1(host)\
|
|
# port $dmc2280_controller1(port)\
|
|
# axis G\
|
|
# stepsPerX XXX]
|
|
#pc2 hardlowerlim HLL
|
|
#pc2 hardupperlim HUL
|
|
#pc2 softlowerlim SLL
|
|
#pc2 softupperlim SUL
|
|
#pc2 home 0
|
|
#
|
|
#Motor sth DMC2280 [params \
|
|
# host $dmc2280_controller2(host)\
|
|
# port $dmc2280_controller2(port)\
|
|
# axis A?\
|
|
# stepsPerX XXX\
|
|
# absEnc 1\
|
|
# absEncHome YYY\
|
|
# cntsPerX ZZZ]
|
|
#sth hardlowerlim -180
|
|
#sth hardupperlim 180
|
|
#sth softlowerlim -180
|
|
#sth softupperlim 180
|
|
#sth home 0
|
|
|
|
Motor som DMC2280 [params \
|
|
host $dmc2280_controller2(host)\
|
|
port $dmc2280_controller2(port)\
|
|
axis B\
|
|
stepsPerX 25000\
|
|
absEnc 1\
|
|
absEncHome 17694127\
|
|
cntsPerX 8192]
|
|
som hardlowerlim -180
|
|
som hardupperlim 180
|
|
som softlowerlim -1.9
|
|
som softupperlim 1.9
|
|
som home 0
|
|
|
|
Motor stth DMC2280 [params \
|
|
host $dmc2280_controller2(host)\
|
|
port $dmc2280_controller2(port)\
|
|
axis A\
|
|
stepsPerX 125000\
|
|
motorHome 11250000\
|
|
absEnc 1\
|
|
absEncHome 6559259\
|
|
cntsPerX -93207]
|
|
stth hardlowerlim 85
|
|
stth hardupperlim 155
|
|
stth softlowerlim 85
|
|
stth softupperlim 155
|
|
stth home 120
|
|
|
|
Motor schi DMC2280 [params \
|
|
host $dmc2280_controller2(host)\
|
|
port $dmc2280_controller2(port)\
|
|
axis E\
|
|
stepsPerX -25000\
|
|
motorHome 500000\
|
|
absEnc 1\
|
|
absEncHome 7581355\
|
|
cntsPerX -8192]
|
|
schi hardlowerlim 70
|
|
schi hardupperlim 110
|
|
schi softlowerlim 70
|
|
schi softupperlim 110
|
|
schi home 90
|
|
Motor sphi DMC2280 [params \
|
|
host $dmc2280_controller2(host)\
|
|
port $dmc2280_controller2(port)\
|
|
axis F\
|
|
stepsPerX -25000\
|
|
motorHome 500000\
|
|
absEnc 1\
|
|
absEncHome 7934290\
|
|
cntsPerX -8192]
|
|
sphi hardlowerlim -20
|
|
sphi hardupperlim 20
|
|
sphi softlowerlim -20
|
|
sphi softupperlim 20
|
|
sphi home 0
|
|
|
|
Motor sx DMC2280 [params \
|
|
host $dmc2280_controller2(host)\
|
|
port $dmc2280_controller2(port)\
|
|
axis D\
|
|
stepsPerX -25000\
|
|
absEnc 1\
|
|
absEncHome 7562793\
|
|
cntsPerX -8192]
|
|
sx hardlowerlim -20
|
|
sx hardupperlim 20
|
|
sx softlowerlim -20
|
|
sx softupperlim 20
|
|
sx home 0
|
|
|
|
Motor sy DMC2280 [params \
|
|
host $dmc2280_controller2(host)\
|
|
port $dmc2280_controller2(port)\
|
|
axis C\
|
|
stepsPerX -25000\
|
|
absEnc 1\
|
|
absEncHome 7562793\
|
|
cntsPerX -8192]
|
|
sy hardlowerlim -20
|
|
sy hardupperlim 20
|
|
sy softlowerlim -20
|
|
sy softupperlim 20
|
|
sy home 0
|
|
|
|
Motor ss1u DMC2280 [params \
|
|
host $dmc2280_controller3(host)\
|
|
port $dmc2280_controller3(port)\
|
|
axis C\
|
|
stepsPerX -20000\
|
|
motorHome 2040518]
|
|
ss1u hardlowerlim 0
|
|
ss1u hardupperlim 50
|
|
ss1u softlowerlim 0
|
|
ss1u softupperlim 50
|
|
ss1u home 0
|
|
|
|
Motor ss1d DMC2280 [params \
|
|
host $dmc2280_controller3(host)\
|
|
port $dmc2280_controller3(port)\
|
|
axis D\
|
|
stepsPerX -20000\
|
|
motorHome 2040518]
|
|
ss1d hardlowerlim 0
|
|
ss1d hardupperlim 50
|
|
ss1d softlowerlim 0
|
|
ss1d softupperlim 50
|
|
ss1d home 0
|
|
|
|
Motor ss1l DMC2280 [params \
|
|
host $dmc2280_controller3(host)\
|
|
port $dmc2280_controller3(port)\
|
|
axis A\
|
|
stepsPerX -20000\
|
|
motorHome 542093]
|
|
ss1l hardlowerlim 0
|
|
ss1l hardupperlim 50
|
|
ss1l softlowerlim 0
|
|
ss1l softupperlim 50
|
|
ss1l home 0
|
|
|
|
Motor ss1r DMC2280 [params \
|
|
host $dmc2280_controller3(host)\
|
|
port $dmc2280_controller3(port)\
|
|
axis B\
|
|
stepsPerX -20000\
|
|
motorHome 542093]
|
|
ss1r hardlowerlim 0
|
|
ss1r hardupperlim 50
|
|
ss1r softlowerlim 0
|
|
ss1r softupperlim 50
|
|
ss1r home 0
|
|
|
|
#Motor ss2u DMC2280 [params \
|
|
# host $dmc2280_controller4(host)\
|
|
# port $dmc2280_controller4(port)\
|
|
# axis F?\
|
|
# stepsPerX -20000\
|
|
# motorHome 2043085]
|
|
#ss2u hardlowerlim 0
|
|
#ss2u hardupperlim 50
|
|
#ss2u softlowerlim 0
|
|
#ss2u softupperlim 50
|
|
#ss2u home 0
|
|
#
|
|
#Motor ss2d DMC2280 [params \
|
|
# host $dmc2280_controller4(host)\
|
|
# port $dmc2280_controller4(port)\
|
|
# axis F?\
|
|
# stepsPerX -20000\
|
|
# motorHome 2043085]
|
|
#ss2d hardlowerlim 0
|
|
#ss2d hardupperlim 50
|
|
#ss2d softlowerlim 0
|
|
#ss2d softupperlim 50
|
|
#ss2d home 0
|
|
#
|
|
#Motor ss2l DMC2280 [params \
|
|
# host $dmc2280_controller4(host)\
|
|
# port $dmc2280_controller4(port)\
|
|
# axis F?\
|
|
# stepsPerX -20000\
|
|
# motorHome 500000]
|
|
#ss2l hardlowerlim 0
|
|
#ss2l hardupperlim 50
|
|
#ss2l softlowerlim 0
|
|
#ss2l softupperlim 50
|
|
#ss2l home 0
|
|
#
|
|
#Motor ss2r DMC2280 [params \
|
|
# host $dmc2280_controller4(host)\
|
|
# port $dmc2280_controller4(port)\
|
|
# axis F?\
|
|
# stepsPerX -20000\
|
|
# motorHome 500000]
|
|
#ss2r hardlowerlim 0
|
|
#ss2r hardupperlim 50
|
|
#ss2r softlowerlim 0
|
|
#ss2r softupperlim 50
|
|
#ss2r home 0
|
|
|
|
|
|
proc SplitReply { text } {
|
|
set l [split $text =]
|
|
return [lindex $l 1]
|
|
}
|
|
# virtual motor d1(h)orizontal (width)
|
|
#--------------------------------------------------------
|
|
proc widthscript {val} {
|
|
set currentWidth [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
|
|
set diff [expr $val - $currentWidth]
|
|
set newD1R [expr [SplitReply [ss1r]] + $diff/2]
|
|
set newD1L [expr [SplitReply [ss1l]] + $diff/2]
|
|
return "ss1r=$newD1R,ss1l=$newD1L"
|
|
}
|
|
publish widthscript user
|
|
#-------------------------------------------------------
|
|
proc readwidth {} {
|
|
return [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
|
|
}
|
|
publish readwidth user
|
|
#-------------------------------------------------------
|
|
MakeConfigurableMotor ss1hg
|
|
ss1hg drivescript widthscript
|
|
ss1hg readscript readwidth
|
|
# virtual motor d1v(ertical), height
|
|
#-----------------------------------------------------
|
|
proc heightscript {val} {
|
|
set currentWidth [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]]
|
|
set diff [expr $val - $currentWidth]
|
|
set newD1B [expr [SplitReply [ss1d]] + $diff/2]
|
|
set newD1T [expr [SplitReply [ss1u]] + $diff/2]
|
|
return "ss1d=$newD1B,ss1u=$newD1T"
|
|
}
|
|
publish heightscript user
|
|
#-------------------------------------------------------
|
|
proc readheight {} {
|
|
return [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]]
|
|
}
|
|
publish readheight user
|
|
#---------------------------------------------------------
|
|
MakeConfigurableMotor ss1vg
|
|
ss1vg drivescript heightscript
|
|
ss1vg readscript readheight
|
|
|