From f6896faaad3f0c0a629e3b8ebc1bd7a9473e321d Mon Sep 17 00:00:00 2001 From: Ferdi Franceschini Date: Wed, 10 May 2006 14:38:00 +1000 Subject: [PATCH] First attempt at kowari config. r992 | ffr | 2006-05-10 14:38:00 +1000 (Wed, 10 May 2006) | 2 lines --- .../instrument/rsd/rsd_configuration.tcl | 487 ++++++++++++++++++ 1 file changed, 487 insertions(+) create mode 100644 site_ansto/instrument/rsd/rsd_configuration.tcl diff --git a/site_ansto/instrument/rsd/rsd_configuration.tcl b/site_ansto/instrument/rsd/rsd_configuration.tcl new file mode 100644 index 00000000..78202ff0 --- /dev/null +++ b/site_ansto/instrument/rsd/rsd_configuration.tcl @@ -0,0 +1,487 @@ +# $Revision: 1.1 $ +# $Date: 2006-05-10 04:38:00 $ +# 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 RSD +Instrument lock +MakeDrive +#END SERVER CONFIGURATION SECTION + +######################################## +# INSTRUMENT SPECIFIC CONFIGURATION + +# 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 1034 +set dmc2280_controller2(port) 1034 + +set dmc2280_controller3(host) 137.157.201.67 +set dmc2280_controller3(port) 1035 + +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 40 +mtth hardupperlim 120 +mtth softlowerlim 40 +mtth softupperlim 120 +mtth home 80 + +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 xxxx +mx hardupperlim xxxx +mx softlowerlim xxxx +mx softupperlim xxxx +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 xxxx +my hardupperlim xxxx +my softlowerlim xxxx +my softupperlim xxxx +my home 0 + +Motor mrh DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis X?\ + stepsPerX XXX\ + absEnc 1\ + absEncHome YYY\ + cntsPerX ZZZ] +mrh hardlowerlim HLL +mrh hardupperlim HUL +mrh softlowerlim SLL +mrh softupperlim SUL +mrh home 0 + +Motor mrv DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis X?\ + stepsPerX XXX\ + absEnc 1\ + absEncHome YYY\ + cntsPerX ZZZ] +mrv hardlowerlim HLL +mrv hardupperlim HUL +mrv softlowerlim SLL +mrv softupperlim SUL +mrv home 0 + +Motor som DMC2280 [params \ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis xxxx\ + units degrees\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX xxxx\ + absEnc 1\ + absEncHome xxxx\ + cntsPerX xxxx] +som hardlowerlim 0 +som hardupperlim 360 +som softlowerlim 0 +som softupperlim 360 +som home 0 + +Motor stth DMC2280 [params \ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis xxxx\ + units degrees\ + maxSpeed xxxx\ + maxAccel xxxx\ + maxDecel xxxx\ + stepsPerX xxxx\ + motorHome xxxx\ + absEnc 1\ + absEncHome xxxx\ + cntsPerX xxxx] +stth hardlowerlim 75 +stth hardupperlim 105 +stth softlowerlim 75 +stth softupperlim 105 +stth home 160 + +Motor sx DMC2280 [params \ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis xxxx\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX xxxx\ + absEnc 1\ + absEncHome xxxx\ + cntsPerX xxxx] +sx hardlowerlim -250 +sx hardupperlim 250 +sx softlowerlim -250 +sx softupperlim 250 +sx home 0 + +Motor sy DMC2280 [params \ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis xxxx\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX xxxx\ + absEnc 1\ + absEncHome xxxx\ + cntsPerX xxxx] +sy hardlowerlim -250 +sy hardupperlim 250 +sy softlowerlim -250 +sy softupperlim 250 +sy home 0 + +Motor sz DMC2280 [params \ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis xxxx\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX xxxx\ + absEnc 1\ + absEncHome xxxx\ + cntsPerX xxxx] +sz hardlowerlim 0 +sz hardupperlim 650 +sz softlowerlim 0 +sz softupperlim 650 +sz home 0 + +Motor psu DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis xxxx\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX xxxx\ + motorHome xxxx] +psu hardlowerlim 0 +psu hardupperlim 50 +psu softlowerlim 0 +psu softupperlim 50 +psu home 0 + +Motor psd DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis xxxx\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX xxxx\ + motorHome xxxx] +psd hardlowerlim 0 +psd hardupperlim 50 +psd softlowerlim 0 +psd softupperlim 50 +psd home 0 + +Motor psl DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis xxxx\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX xxxx\ + motorHome xxxx] +psl hardlowerlim 0 +psl hardupperlim 50 +psl softlowerlim 0 +psl softupperlim 50 +psl home 0 + +Motor psr DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis xxxx\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX xxxx\ + motorHome xxxx] +psr hardlowerlim 0 +psr hardupperlim 50 +psr softlowerlim 0 +psr softupperlim 50 +psr home 0 + +Motor ssu DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis xxxx\ + stepsPerX xxxx\ + motorHome xxxx] +ssu hardlowerlim 0 +ssu hardupperlim 50 +ssu softlowerlim 0 +ssu softupperlim 50 +ssu home 0 + +Motor ssd DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis xxxx\ + stepsPerX xxxx\ + motorHome xxxx] +ssd hardlowerlim 0 +ssd hardupperlim 50 +ssd softlowerlim 0 +ssd softupperlim 50 +ssd home 0 + +Motor ssl DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis xxxx\ + stepsPerX xxxx\ + motorHome xxxx] +ssl hardlowerlim 0 +ssl hardupperlim 50 +ssl softlowerlim 0 +ssl softupperlim 50 +ssl home 0 + +Motor ssr DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis xxxx\ + stepsPerX xxxx\ + motorHome xxxx] +ssr hardlowerlim 0 +ssr hardupperlim 50 +ssr softlowerlim 0 +ssr softupperlim 50 +ssr home 0 + + +proc SplitReply { text } { + set l [split $text =] + return [lindex $l 1] +} +# virtual motor ss1(h)orizontal (width) +#-------------------------------------------------------- +proc widthscript {val} { + set currentWidth [expr [SplitReply [psr]] + [SplitReply [psl]]] + set diff [expr $val - $currentWidth] + set newD1R [expr [SplitReply [psr]] + $diff/2] + set newD1L [expr [SplitReply [psl]] + $diff/2] + return "psr=$newD1R,psl=$newD1L" +} +publish widthscript user +#------------------------------------------------------- +proc readwidth {} { + return [expr [SplitReply [psr]] + [SplitReply [psl]]] +} +publish readwidth user +MakeConfigurableMotor psw +psw drivescript widthscript +psw readscript readwidth + +# virtual motor ss1(h)orizontal (offset) +#-------------------------------------------------------- +proc horoffsetscript {val} { + set SR [SplitReply [psr]] + set SL [SplitReply [psl]] + set currentOffset [ expr $SR - ($SR + $SL)/2.0 ] + set diff [expr $val - $currentOffset] + set newD1R [expr $SR + $diff] + set newD1L [expr $SL - $diff] + return "psr=$newD1R,psl=$newD1L" +} +publish horoffsetscript user +#------------------------------------------------------- +proc readhoroffset {} { + set SR [SplitReply [psr]] + return [ expr $SR - ($SR + [SplitReply [psl]])/2.0 ] +} +publish readhoroffset user + +#------------------------------------------------------- +MakeConfigurableMotor psho +psho drivescript horoffsetscript +psho readscript readhoroffset + +# virtual motor ss1v(ertical), height +#----------------------------------------------------- +proc heightscript {val} { + set currentWidth [expr [SplitReply [psu]] + [SplitReply [psd]]] + set diff [expr $val - $currentWidth] + set newD1B [expr [SplitReply [psd]] + $diff/2] + set newD1T [expr [SplitReply [psu]] + $diff/2] + return "psd=$newD1B,psu=$newD1T" +} +publish heightscript user +#------------------------------------------------------- +proc readheight {} { + return [expr [SplitReply [psu]] + [SplitReply [psd]]] +} +publish readheight user +#--------------------------------------------------------- +MakeConfigurableMotor ss1vg +ss1vg drivescript heightscript +ss1vg readscript readheight + +# virtual motor ss1(v)ertical (offset) +#-------------------------------------------------------- +proc vertoffsetscript {val} { + set SU [SplitReply [psu]] + set SD [SplitReply [psd]] + set currentOffset [ expr $SU - ($SU + $SD)/2.0 ] + set diff [expr $val - $currentOffset] + set newD1U [expr $SU + $diff] + set newD1D [expr $SD - $diff] + return "psu=$newD1U,psd=$newD1D" +} +publish vertoffsetscript user +#------------------------------------------------------- +proc readvertoffset {} { + set SU [SplitReply [psu]] + return [ expr $SU - ($SU + [SplitReply [psd]])/2.0 ] +} +publish readvertoffset user + +#------------------------------------------------------- +MakeConfigurableMotor ss1vo +ss1vo drivescript vertoffsetscript +ss1vo readscript readvertoffset