From ac308d9c9c556ac9e33ec2066708a56754a5385a Mon Sep 17 00:00:00 2001 From: Ferdi Franceschini Date: Mon, 16 Oct 2006 09:47:45 +1000 Subject: [PATCH] Initial kowari configuration. r1156 | ffr | 2006-10-16 09:47:45 +1000 (Mon, 16 Oct 2006) | 2 lines --- site_ansto/instrument/rsd/MANIFEST.TXT | 4 + .../rsd/hipadaba_kowari_configuration.tcl | 620 ++++++++++++++++++ site_ansto/instrument/rsd/kowari.hdd | 8 + .../instrument/rsd/kowari_configuration.tcl | 591 +++++++++++++++++ .../instrument/rsd/troubleshoot_setup.tcl | 22 + 5 files changed, 1245 insertions(+) create mode 100644 site_ansto/instrument/rsd/MANIFEST.TXT create mode 100644 site_ansto/instrument/rsd/hipadaba_kowari_configuration.tcl create mode 100644 site_ansto/instrument/rsd/kowari.hdd create mode 100644 site_ansto/instrument/rsd/kowari_configuration.tcl create mode 100644 site_ansto/instrument/rsd/troubleshoot_setup.tcl diff --git a/site_ansto/instrument/rsd/MANIFEST.TXT b/site_ansto/instrument/rsd/MANIFEST.TXT new file mode 100644 index 00000000..2c1bd3cf --- /dev/null +++ b/site_ansto/instrument/rsd/MANIFEST.TXT @@ -0,0 +1,4 @@ +kowari_configuration.tcl +hipadaba_kowari_configuration.tcl +kowari.hdd +troubleshoot_setup.tcl diff --git a/site_ansto/instrument/rsd/hipadaba_kowari_configuration.tcl b/site_ansto/instrument/rsd/hipadaba_kowari_configuration.tcl new file mode 100644 index 00000000..dc00d2bd --- /dev/null +++ b/site_ansto/instrument/rsd/hipadaba_kowari_configuration.tcl @@ -0,0 +1,620 @@ +# $Revision: 1.1 $ +# $Date: 2006-10-15 23:47:45 $ +# Author: Ferdi Franceschini (ffr@ansto.gov.au) +# Last revision by: $Author: ffr $ + +source motParList.tcl +#------------------------------------------------------------------------- +# Install the SICS Hipadaba +#------------------------------------------------------------------------- +proc makeHdbMotor {root treename sicsname} { + global parList; + append motName $root "/" $treename + eval hmake $motName spy none + eval hmakescript "$motName/position" \"$sicsname\" \"run $sicsname\" float + foreach par $parList { + set parName [format "%s/%s" $motName $par] + eval hmakescript $parName \"$sicsname $par\" \"$sicsname $par\" float + } +} +proc makeHdbVirtMotor {root treename sicsname} { + append motName $root "/" $treename + eval hmake $motName spy none + eval hmakescript "$motName/position" \"$sicsname\" \"run $sicsname\" float +} +#------------------------------------------------------------------------ +proc hdbReadOnly {} { + error "Parameter is READ ONLY" +} +#------------------------------------------------------------------------- +InstallHdb +hmake /sample spy none +hmake /monochromator spy none +hmake /slits spy none +hmake /slits/1 spy none +hmake /slits/2 spy none + +makeHdbMotor /slits/1 ss1u ss1u +makeHdbMotor /slits/1 ss1d ss1d +makeHdbMotor /slits/1 ss1l ss1l +makeHdbMotor /slits/1 ss1r ss1r +makeHdbVirtMotor /slits/1 ss1vg ss1vg +makeHdbVirtMotor /slits/1 ss1vo ss1vo +makeHdbVirtMotor /slits/1 ss1hg ss1hg +makeHdbVirtMotor /slits/1 ss1ho ss1ho + +makeHdbMotor /slits/2 ss2u ss2u +makeHdbMotor /slits/2 ss2d ss2d +makeHdbMotor /slits/2 ss2l ss2l +makeHdbMotor /slits/2 ss2r ss2r +makeHdbVirtMotor /slits/2 ss2vg ss2vg +makeHdbVirtMotor /slits/2 ss2vo ss2vo +makeHdbVirtMotor /slits/2 ss2hg ss2hg +makeHdbVirtMotor /slits/2 ss2ho ss2ho + +makeHdbMotor /sample som som +makeHdbMotor /sample schi schi +makeHdbMotor /sample sphi sphi +makeHdbMotor /sample sx sx +makeHdbMotor /sample sz sz +makeHdbMotor /sample sy sy +makeHdbMotor /sample stth stth + +makeHdbMotor /monochromator mom mom +makeHdbMotor /monochromator mchi mchi +makeHdbMotor /monochromator mphi mphi +makeHdbMotor /monochromator mx mx +makeHdbMotor /monochromator mz mz +makeHdbMotor /monochromator mtth mtth + +proc xhlist {opt args} { +clientput { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} "value" +} +publish xhlist spy + diff --git a/site_ansto/instrument/rsd/kowari.hdd b/site_ansto/instrument/rsd/kowari.hdd new file mode 100644 index 00000000..43a60e8f --- /dev/null +++ b/site_ansto/instrument/rsd/kowari.hdd @@ -0,0 +1,8 @@ +##SICS ASCII at Kowari +*************************** Kowari SCAN File ******************************** +Original Filename = !!FILE!! +Title = !!VAR(Title)!! +User = !!VAR(User)!! +Sample Name = !!VAR(sample)!! +File Creation Date = !!DATE!! +**************************** DATA ****************************************** diff --git a/site_ansto/instrument/rsd/kowari_configuration.tcl b/site_ansto/instrument/rsd/kowari_configuration.tcl new file mode 100644 index 00000000..dc39cd2a --- /dev/null +++ b/site_ansto/instrument/rsd/kowari_configuration.tcl @@ -0,0 +1,591 @@ +# $Revision: 1.1 $ +# $Date: 2006-10-15 23:47:45 $ +# Author: Ferdi Franceschini (ffr@ansto.gov.au) +# Last revision by: $Author: ffr $ + +#START SERVER CONFIGURATION SECTION +source dmc2280_util.tcl +source server_config.tcl +#END SERVER CONFIGURATION SECTION + +######################################## +# INSTRUMENT SPECIFIC CONFIGURATION +VarMake Instrument Text Internal +Instrument Kowari +Instrument lock + +# Setup addresses of Galil DMC2280 controllers. +set dmc2280_controller1(host) mc1-kowari +set dmc2280_controller1(port) pmc1-kowari + +set dmc2280_controller2(host) mc2-kowari +set dmc2280_controller2(port) pmc2-kowari + +set dmc2280_controller3(host) mc3-kowari +set dmc2280_controller3(port) pmc3-kowari + +set dmc2280_controller4(host) mc4-kowari +set dmc2280_controller4(port) pmc4-kowari + +# Run slit homing routines on controllers 3 and 4 +#if [catch {dmc_connect dmc2280_controller3} ] { +# dmc_sendCmd dmc2280_controller3 "XQ#HOME,1" +# dmc_close dmc2280_controller3 +#} +#if [catch {dmc_connect dmc2280_controller4} ] { +# dmc_sendCmd dmc2280_controller4 "XQ#HOME,1" +# dmc_close dmc2280_controller4 +#} + +# Monochromator omega, rotate +Motor mom DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis E\ + units degrees\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -12500\ + absEnc 1\ + absEncHome 17694127\ + cntsPerX -8192] +setHomeandRange -motor mom -home 0 -lowrange 5 -uprange 5 +mom speed 1 +mom precision 0.01 + +# Monochromator two-theta, flight-tube rotate +Motor mtth DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis F\ + units degrees\ + maxSpeed 0.5\ + maxAccel 0.2\ + maxDecel 0.2\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 10299428\ + cntsPerX 93207] +mtth hardlowerlim 85 +mtth hardupperlim 155 +mtth softlowerlim 85 +mtth softupperlim 155 +mtth home 120 +mtth speed 0.5 +mtth precision 0.01 + +proc mthGet {} { return [expr [SplitReply [mtth]]/2.0]} +proc mthSet {val} { return "mtth=[SplitReply [mtth]]"} +publish mthSet user +publish mthGet user +MakeConfigurableMotor mth +mth readscript mthGet +mth drivescript mthSet + +# Monochromator chi, Tilt 2, lower +Motor mchi DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis B\ + units degrees\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7818915\ + cntsPerX 8192] +setHomeandRange -motor mchi -home 90 -lowrange 5 -uprange 5 +mchi speed 1 +mchi precision 0.01 + +# Monochromator phi, Tilt 1, upper +Motor mphi DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis A\ + units degrees\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -25000\ + absEnc 1\ + absEncHome 7414753\ + cntsPerX -8192] +setHomeandRange -motor mphi -home 0 -lowrange 5 -uprange 5 +mphi speed 1 +mphi precision 0.01 + +# Monochromator Trans 1, upper +Motor mz DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis C\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7781680\ + cntsPerX 8192] +setHomeandRange -motor mz -home 0 -lowrange 5 -uprange 5 +mz speed 1 +mz precision 0.01 + +# Monochromator Trans 2, lower +Motor mx DMC2280 [params \ + host $dmc2280_controller1(host)\ + port $dmc2280_controller1(port)\ + axis D\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7562793\ + cntsPerX 8192] +setHomeandRange -motor mx -home 0 -lowrange 5 -uprange 5 +mx speed 1 +mx precision 0.01 + +# Sample Omega, rotate +Motor som DMC2280 [params \ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis E\ + units degrees\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -12500\ + absEnc 1\ + absEncHome 17694127\ + cntsPerX -8192] +setHomeandRange -motor som -home 0 -lowrange 45 -uprange 45 +som speed 1 +som precision 0.01 + +# Sample two-theta, detector rotate +Motor stth DMC2280 [params \ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis F\ + units degrees\ + maxSpeed 0.2\ + maxAccel 0.2\ + maxDecel 0.2\ + stepsPerX 125000\ + absEnc 1\ + absEncHome 6559259\ + cntsPerX 93207] +setHomeandRange -motor stth -home 120 -lowrange 15 -uprange 15 +stth speed 0.5 +stth precision 0.01 + +proc sthGet {} { return [expr [SplitReply [stth]]/2.0]} +proc sthSet {val} { return "stth=[SplitReply [stth]]"} +publish sthSet user +publish sthGet user +MakeConfigurableMotor sth +sth readscript sthGet +sth drivescript sthSet + +# Sample Tilt 2, lower +Motor schi 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 7581355\ + cntsPerX 8192] +setHomeandRange -motor schi -home 90 -lowrange 5 -uprange 5 +schi speed 1 +schi precision 0.01 + +# Sample Tilt 1, upper +Motor sphi DMC2280 [params \ + host $dmc2280_controller2(host)\ + port $dmc2280_controller2(port)\ + axis A\ + units degrees\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX 25000\ + absEnc 1\ + absEncHome 7934290\ + cntsPerX 8192] +setHomeandRange -motor sphi -home 0 -lowrange 5 -uprange 5 +sphi speed 1 +sphi precision 0.01 + +# Sample Trans 1 (upper) +Motor sz 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] +setHomeandRange -motor sz -home 0 -lowrange 5 -uprange 5 +sz speed 1 +sz precision 0.01 + +# Sample Trans2 (lower) +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] +setHomeandRange -motor sx -home 0 -lowrange 5 -uprange 5 +sx speed 1 +sx precision 0.01 + +# Sample Trans3 (vertical) +Motor sy 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] +setHomeandRange -motor sy -home 0 -lowrange 500 -uprange 500 +sy speed 1 +sy precision 0.01 + +#Default upper and lower ranges for vertical slits +set vertSlitLowRange 25 +set vertSlitUpRange 95 + +#Default upper and lower ranges for horizontal slits +set horSlitLowRange 20 +set horSlitUpRange 25 + +Motor ss1u DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis G\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ + motorHome 2040518] +setHomeandRange -motor ss1u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange + +Motor ss1d DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis H\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ + motorHome 2040518] +setHomeandRange -motor ss1d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange + +Motor ss1l DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis E\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ + motorHome 542093] +setHomeandRange -motor ss1l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange + +Motor ss1r DMC2280 [params \ + host $dmc2280_controller3(host)\ + port $dmc2280_controller3(port)\ + axis F\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ + motorHome 542093] +setHomeandRange -motor ss1r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange + +Motor ss2u DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis G\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ + motorHome 2043085] +setHomeandRange -motor ss2u -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange + +Motor ss2d DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis H\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ + motorHome 2043085] +setHomeandRange -motor ss2d -home 0 -lowrange $vertSlitLowRange -uprange $vertSlitUpRange + +Motor ss2l DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis E\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ + motorHome 500000] +setHomeandRange -motor ss2l -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange + +Motor ss2r DMC2280 [params \ + host $dmc2280_controller4(host)\ + port $dmc2280_controller4(port)\ + axis F\ + units mm\ + maxSpeed 1\ + maxAccel 1\ + maxDecel 1\ + stepsPerX -20125\ + motorHome 500000] +setHomeandRange -motor ss2r -home 0 -lowrange $horSlitLowRange -uprange $horSlitUpRange + +#-------------------------------------------------------- +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 + +# END MOTOR CONFIGURATION +MakeCounter simCtr SIM -1.0 +#------------------------------------------------------------------------- +# System: Histogram Server +#------------------------------------------------------------------------ + +# For the time being, use a simulated counter. +# When the beam monitor is interfaced, it can be used instead. +MakeCounter ctr SIM 0 + +# Set up the counter to provide a 2 second acquisition +#ctr SetMode Timer +#ctr SetPreset 2 + +MakeHM hm anstohttp +hm configure hmaddress http://localhost:8888 +hm configure username spy +hm configure password 007 +hm configure hmconfigscript puts anstohm.xml +# +hm CountMode timer +hm preset 2 +hm exponent 0 +# +hm configure init 1 +hm init +MakeScanCommand xxxscan simCtr kowari.hdd recover.bin + +source hipadaba_kowari_configuration.tcl diff --git a/site_ansto/instrument/rsd/troubleshoot_setup.tcl b/site_ansto/instrument/rsd/troubleshoot_setup.tcl new file mode 100644 index 00000000..d52b75a8 --- /dev/null +++ b/site_ansto/instrument/rsd/troubleshoot_setup.tcl @@ -0,0 +1,22 @@ +# Kowari troubleshooter setup + +# $Revision: 1.1 $ +# $Date: 2006-10-15 23:47:45 $ +# Author: Ferdi Franceschini (ffr@ansto.gov.au) +# Last revision by $Author: ffr $ + +set configFileName "kowari_configuration.tcl" + +# These subroutines should be installed on the controllers +set contSubs(dmc2280_controller1) "#AUTO #LIMSWI #SOLCTRL #TCPERR" +set contSubs(dmc2280_controller2) "#AUTO #LIMSWI #SOLCTRL #TCPERR" +set contSubs(dmc2280_controller3) "#AUTO #HOME #LOOPER #RES #TCPERR" +set contSubs(dmc2280_controller4) "#AUTO #HOME #LIMSWI #LOOPER #TCPERR" + + +# These threads should be running on the controllers. +set contThreads(dmc2280_controller1) "0" +set contThreads(dmc2280_controller2) "0" +set contThreads(dmc2280_controller3) "0" +set contThreads(dmc2280_controller4) "0" +