Files
sics/site_ansto/instrument/hrpd/hrpd_configuration.tcl
Ferdi Franceschini 76c1e17bc6 Added missing fields to blanked out motor configs.
r996 | ffr | 2006-05-11 12:14:06 +1000 (Thu, 11 May 2006) | 2 lines
2012-11-15 12:44:31 +11:00

718 lines
16 KiB
Tcl

# $Revision: 1.6 $
# $Date: 2006-05-11 02:14:06 $
# 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 /home/sics/SICS/log/status.tcl
ServerOption RedirectFile /home/sics/SICS/log/stdout
ServerOption LogFileBaseName /home/sics/SICS/log/serverlog
ServerOption LogFileDir /home/sics/SICS/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 /home/sics/SICS/data/DataNumber
VarMake SicsDataPath Text Internal
SicsDataPath /home/sics/SICS/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
#xxxx WHICH CONTROLLER DO ECHI AND EPHI BELONG TO
#Motor echi DMC2280 [params \
# host hhh\
# port ppp\
# axis A\
# units xxxx\
# maxSpeed xxxx\
# maxAccel xxxx\
# maxDecel xxxx\
# stepsPerX xxxx\
# absEnc 1\
# absEncHome xxxx\
# cntsPerX xxxx]
#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?\
# units xxxx\
# maxSpeed xxxx\
# maxAccel xxxx\
# maxDecel xxxx\
# stepsPerX xxxx\
# absEnc 1\
# absEncHome xxxx\
# cntsPerX xxxx]
#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) 137.157.201.67
set dmc2280_controller2(port) 1034
set dmc2280_controller3(host) 137.157.201.68
set dmc2280_controller3(port) 1034
set dmc2280_controller4(host) 137.157.201.69
set dmc2280_controller4(port) 1034
#Motor mth DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# units xxxx\
# maxSpeed xxxx\
# maxAccel xxxx\
# maxDecel xxxx\
# stepsPerX xxxx\
# absEnc 1\
# absEncHome xxxx\
# cntsPerX xxxx]
#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?\
# units xxxx\
# maxSpeed xxxx\
# maxAccel xxxx\
# maxDecel xxxx\
# stepsPerX xxxx\
# absEnc 1\
# absEncHome xxxx\
# cntsPerX xxxx]
#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?\
# units xxxx\
# maxSpeed xxxx\
# maxAccel xxxx\
# maxDecel xxxx\
# stepsPerX xxxx\
# absEnc 1\
# absEncHome xxxx\
# cntsPerX xxxx]
#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?\
# units xxxx\
# maxSpeed xxxx\
# maxAccel xxxx\
# maxDecel xxxx\
# stepsPerX xxxx\
# absEnc 1\
# absEncHome xxxx\
# cntsPerX xxxx]
#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?\
# units xxxx\
# maxSpeed xxxx\
# maxAccel xxxx\
# maxDecel xxxx\
# stepsPerX xxxx\
# absEnc 1\
# absEncHome xxxx\
# cntsPerX xxxx]
#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?\
# units xxxx\
# maxSpeed xxxx\
# maxAccel xxxx\
# maxDecel xxxx\
# stepsPerX xxxx\
# absEnc 1\
# absEncHome xxxx\
# cntsPerX xxxx]
#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?\
# units xxxx\
# maxSpeed xxxx\
# maxAccel xxxx\
# maxDecel xxxx\
# stepsPerX xxxx\
# absEnc 1\
# absEncHome xxxx\
# cntsPerX xxxx]
#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?\
# units xxxx\
# maxSpeed xxxx\
# maxAccel xxxx\
# maxDecel xxxx\
# stepsPerX xxxx\
# absEnc 1\
# absEncHome xxxx\
# cntsPerX xxxx]
#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\
# units xxxx\
# maxSpeed xxxx\
# maxAccel xxxx\
# maxDecel xxxx\
# stepsPerX xxxx]
#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\
# units xxxx\
# maxSpeed xxxx\
# maxAccel xxxx\
# maxDecel xxxx\
# stepsPerX xxxx]
#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?\
# units xxxx\
# maxSpeed xxxx\
# maxAccel xxxx\
# maxDecel xxxx\
# stepsPerX xxxx\
# absEnc 1\
# absEncHome xxxx\
# cntsPerX xxxx]
#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\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
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\
units degrees\
maxSpeed 0.2\
maxAccel 0.2\
maxDecel 0.2\
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\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
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\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
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\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
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\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
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\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
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\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
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\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
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\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
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?\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
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?\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
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?\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
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?\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
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]
}
#--------------------------------------------------------
proc ss1widthscript {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 ss1widthscript user
#-------------------------------------------------------
proc ss1readwidth {} {
return [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
}
publish ss1readwidth user
MakeConfigurableMotor ss1hg
ss1hg drivescript ss1widthscript
ss1hg readscript ss1readwidth
#--------------------------------------------------------
proc ss1horoffsetscript {val} {
set SR [SplitReply [ss1r]]
set SL [SplitReply [ss1l]]
set currentOffset [ expr $SR - ($SR + $SL)/2.0 ]
set diff [expr $val - $currentOffset]
set newD1R [expr $SR + $diff]
set newD1L [expr $SL - $diff]
return "ss1r=$newD1R,ss1l=$newD1L"
}
publish ss1horoffsetscript user
#-------------------------------------------------------
proc ss1readhoroffset {} {
set SR [SplitReply [ss1r]]
return [ expr $SR - ($SR + [SplitReply [ss1l]])/2.0 ]
}
publish ss1readhoroffset user
#-------------------------------------------------------
MakeConfigurableMotor ss1ho
ss1ho drivescript ss1horoffsetscript
ss1ho readscript ss1readhoroffset
#-----------------------------------------------------
proc ss1heightscript {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 ss1heightscript user
#-------------------------------------------------------
proc ss1readheight {} {
return [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]]
}
publish ss1readheight user
#---------------------------------------------------------
MakeConfigurableMotor ss1vg
ss1vg drivescript ss1heightscript
ss1vg readscript ss1readheight
#--------------------------------------------------------
proc ss1vertoffsetscript {val} {
set SU [SplitReply [ss1u]]
set SD [SplitReply [ss1d]]
set currentOffset [ expr $SU - ($SU + $SD)/2.0 ]
set diff [expr $val - $currentOffset]
set newD1U [expr $SU + $diff]
set newD1D [expr $SD - $diff]
return "ss1u=$newD1U,ss1d=$newD1D"
}
publish ss1vertoffsetscript user
#-------------------------------------------------------
proc ss1readvertoffset {} {
set SU [SplitReply [ss1u]]
return [ expr $SU - ($SU + [SplitReply [ss1d]])/2.0 ]
}
publish ss1readvertoffset user
#-------------------------------------------------------
MakeConfigurableMotor ss1vo
ss1vo drivescript ss1vertoffsetscript
ss1vo readscript ss1readvertoffset
###############################################
#--------------------------------------------------------
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