From 66aa3f943c653a35a99ffea5ef78ac02f6b2f51a Mon Sep 17 00:00:00 2001 From: Jing Chen Date: Fri, 1 Jun 2012 16:07:14 +1000 Subject: [PATCH] create initial SICS file for Dingo r3574 | jgn | 2012-06-01 16:07:14 +1000 (Fri, 01 Jun 2012) | 1 line --- .../config/hmm/hmm_configuration_common_1.tcl | 2 + .../config/nexus/nxscripts_common_1.tcl | 3 +- site_ansto/instrument/deploySICS.sh | 4 + .../instrument/dingo/DMC2280/README.txt | 1 + site_ansto/instrument/dingo/MANIFEST.TXT | 5 + site_ansto/instrument/dingo/Makefile | 5 + .../instrument/dingo/config/INSTCFCOMMON.TXT | 18 + site_ansto/instrument/dingo/config/Makefile | 4 + .../dingo/config/commands/commands.tcl | 12 + .../dingo/config/counter/counter.tcl | 31 + .../hipadaba/hipadaba_configuration.tcl | 3 + .../dingo/config/hmm/hmm_configuration.tcl | 121 +++ .../config/motors/motor_configuration.tcl | 860 ++++++++++++++++++ .../motors/positmotor_configuration.tcl | 61 ++ .../instrument/dingo/config/nexus/Makefile | 3 + .../dingo/config/nexus/nxscripts.tcl | 4 + .../instrument/dingo/config/plc/plc.tcl | 8 + .../instrument/dingo/config/scan/scan.tcl | 6 + .../instrument/dingo/config/source/source.tcl | 8 + .../instrument/dingo/dingo_configuration.tcl | 52 ++ .../dingo/script_validator_ports.tcl | 4 + site_ansto/instrument/dingo/sics_ports.tcl | 4 + .../dingo/util/dmc2280/troubleshoot_setup.tcl | 17 + 23 files changed, 1235 insertions(+), 1 deletion(-) create mode 100644 site_ansto/instrument/dingo/DMC2280/README.txt create mode 100644 site_ansto/instrument/dingo/MANIFEST.TXT create mode 100644 site_ansto/instrument/dingo/Makefile create mode 100644 site_ansto/instrument/dingo/config/INSTCFCOMMON.TXT create mode 100644 site_ansto/instrument/dingo/config/Makefile create mode 100644 site_ansto/instrument/dingo/config/commands/commands.tcl create mode 100644 site_ansto/instrument/dingo/config/counter/counter.tcl create mode 100644 site_ansto/instrument/dingo/config/hipadaba/hipadaba_configuration.tcl create mode 100644 site_ansto/instrument/dingo/config/hmm/hmm_configuration.tcl create mode 100644 site_ansto/instrument/dingo/config/motors/motor_configuration.tcl create mode 100644 site_ansto/instrument/dingo/config/motors/positmotor_configuration.tcl create mode 100644 site_ansto/instrument/dingo/config/nexus/Makefile create mode 100644 site_ansto/instrument/dingo/config/nexus/nxscripts.tcl create mode 100644 site_ansto/instrument/dingo/config/plc/plc.tcl create mode 100644 site_ansto/instrument/dingo/config/scan/scan.tcl create mode 100644 site_ansto/instrument/dingo/config/source/source.tcl create mode 100644 site_ansto/instrument/dingo/dingo_configuration.tcl create mode 100644 site_ansto/instrument/dingo/script_validator_ports.tcl create mode 100644 site_ansto/instrument/dingo/sics_ports.tcl create mode 100644 site_ansto/instrument/dingo/util/dmc2280/troubleshoot_setup.tcl diff --git a/site_ansto/instrument/config/hmm/hmm_configuration_common_1.tcl b/site_ansto/instrument/config/hmm/hmm_configuration_common_1.tcl index bb43a83d..a33a1801 100644 --- a/site_ansto/instrument/config/hmm/hmm_configuration_common_1.tcl +++ b/site_ansto/instrument/config/hmm/hmm_configuration_common_1.tcl @@ -89,6 +89,7 @@ namespace eval histogram_memory { wombat INTERNAL lyrebird INTERNAL kookaburra INTERNAL + dingo INTERNAL } array set default_frame_source_always_internal { @@ -102,6 +103,7 @@ namespace eval histogram_memory { wombat "false" lyrebird "false" kookaburra "false" + dingo "false" } ::utility::mkVar detector_active_height_mm Float user active_height true detector true true diff --git a/site_ansto/instrument/config/nexus/nxscripts_common_1.tcl b/site_ansto/instrument/config/nexus/nxscripts_common_1.tcl index 65df521e..3d3668b3 100644 --- a/site_ansto/instrument/config/nexus/nxscripts_common_1.tcl +++ b/site_ansto/instrument/config/nexus/nxscripts_common_1.tcl @@ -53,6 +53,7 @@ namespace eval nexus { "pelican" "simple" "taipan" "simple" "kookaburra" "simple" + "dingo" "simple" } } namespace eval ::nexus::histmem {} @@ -119,7 +120,7 @@ proc ::nexus::datapath {} { # @param postfix This is the filename suffix, must be one of: nx.hdf, hdf, h5, nx5, xml proc newFileName {idNum postfix} { if [ catch { - array set inst_mnem {quokka QKK wombat WBT echidna ECH kowari KWR koala KOL taipan TPN platypus PLP pelican PLN lyrebird LBD kookaburra KKB} + array set inst_mnem {quokka QKK wombat WBT echidna ECH kowari KWR koala KOL taipan TPN platypus PLP pelican PLN lyrebird LBD kookaburra KKB dingo DNG} # set prefix [SplitReply [sicsdataprefix]] set date_time_arr [split [sicstime] " "] set isodate [lindex $date_time_arr 0] diff --git a/site_ansto/instrument/deploySICS.sh b/site_ansto/instrument/deploySICS.sh index a0d0f977..86ab64c6 100755 --- a/site_ansto/instrument/deploySICS.sh +++ b/site_ansto/instrument/deploySICS.sh @@ -131,6 +131,10 @@ kookaburra|kookaburra) INSTRUMENT=kookaburra DESTHOST=${2:-ics1-kookaburra.nbi.ansto.gov.au} INSTSRC=$SRCDIR/kookaburra;; +dingo|dingo) +INSTRUMENT=dingo +DESTHOST=${2:-ics1-dingo.nbi.ansto.gov.au} +INSTSRC=$SRCDIR/dingo;; esac INSTCFDIR=$INSTSRC/config diff --git a/site_ansto/instrument/dingo/DMC2280/README.txt b/site_ansto/instrument/dingo/DMC2280/README.txt new file mode 100644 index 00000000..d2112a58 --- /dev/null +++ b/site_ansto/instrument/dingo/DMC2280/README.txt @@ -0,0 +1 @@ +Programs for the DMC2280 controllers. diff --git a/site_ansto/instrument/dingo/MANIFEST.TXT b/site_ansto/instrument/dingo/MANIFEST.TXT new file mode 100644 index 00000000..e8de9be2 --- /dev/null +++ b/site_ansto/instrument/dingo/MANIFEST.TXT @@ -0,0 +1,5 @@ +dingo_configuration.tcl +sics_ports.tcl +script_validator_ports.tcl +config +util diff --git a/site_ansto/instrument/dingo/Makefile b/site_ansto/instrument/dingo/Makefile new file mode 100644 index 00000000..2077f983 --- /dev/null +++ b/site_ansto/instrument/dingo/Makefile @@ -0,0 +1,5 @@ +all: + make -C config + +clean: + make -C config clean diff --git a/site_ansto/instrument/dingo/config/INSTCFCOMMON.TXT b/site_ansto/instrument/dingo/config/INSTCFCOMMON.TXT new file mode 100644 index 00000000..e9ca426e --- /dev/null +++ b/site_ansto/instrument/dingo/config/INSTCFCOMMON.TXT @@ -0,0 +1,18 @@ +config/source/source_common.tcl +config/anticollider/anticollider_common.tcl +config/plc/plc_common_1.tcl +config/counter/counter_common_1.tcl +config/hipadaba/hipadaba_configuration_common.tcl +config/hipadaba/common_instrument_dictionary.tcl +config/hipadaba/instdict_specification.tcl +config/hmm/hmm_configuration_common_1.tcl +config/hmm/hmm_cylindrical_detector_configuration.tcl +config/hmm/hmm_object.tcl +config/hmm/anstohm_linked.xml +config/hmm/sct_orhvps_common.tcl +config/scan/scan_common_1.hdd +config/scan/scan_common_1.tcl +config/nexus/nxscripts_common_1.tcl +config/commands/commands_common.tcl +config/motors/sct_positmotor_common.tcl +config/motors/sct_jogmotor_common.tcl diff --git a/site_ansto/instrument/dingo/config/Makefile b/site_ansto/instrument/dingo/config/Makefile new file mode 100644 index 00000000..b711f394 --- /dev/null +++ b/site_ansto/instrument/dingo/config/Makefile @@ -0,0 +1,4 @@ +all: + + +clean: diff --git a/site_ansto/instrument/dingo/config/commands/commands.tcl b/site_ansto/instrument/dingo/config/commands/commands.tcl new file mode 100644 index 00000000..0053826f --- /dev/null +++ b/site_ansto/instrument/dingo/config/commands/commands.tcl @@ -0,0 +1,12 @@ +# Author : Jing Chen (jgn@ansto.gov.au) + +source $cfPath(commands)/commands_common.tcl + +namespace eval motor { +# is_homing_list = comma separated list of motors which are safe to send "home" + variable is_homing_list "" +} + +proc ::commands::isc_initialize {} { + ::commands::ic_initialize +} diff --git a/site_ansto/instrument/dingo/config/counter/counter.tcl b/site_ansto/instrument/dingo/config/counter/counter.tcl new file mode 100644 index 00000000..ca15d22a --- /dev/null +++ b/site_ansto/instrument/dingo/config/counter/counter.tcl @@ -0,0 +1,31 @@ +# Author: Jing Chen (jgn@ansto.gov.au) + + +source $cfPath(counter)/counter_common_1.tcl + +## TODO Put all the counter macros in the counter namespace +namespace eval counter { + variable isc_numchannels + variable isc_monitor_address + variable isc_portlist + variable isc_beam_monitor_list + proc set_sobj_attributes {} { + } +} + +proc ::counter::isc_initialize {} { + if [catch { + variable isc_numchannels + variable isc_monitor_address + variable isc_portlist + variable isc_beam_monitor_list {MONITOR_1 MONITOR_2 MONITOR_3} + + set isc_monitor_address "das1-[SplitReply [instrument]]" + set isc_portlist [list 33000 33001 33002 33003 33004 33005 33006 33007] + set isc_numchannels [llength $isc_beam_monitor_list] + ::counter::ic_initialize + } message ] { + if {$::errorCode=="NONE"} {return $message} + return -code error "$message" + } +} diff --git a/site_ansto/instrument/dingo/config/hipadaba/hipadaba_configuration.tcl b/site_ansto/instrument/dingo/config/hipadaba/hipadaba_configuration.tcl new file mode 100644 index 00000000..a2547e46 --- /dev/null +++ b/site_ansto/instrument/dingo/config/hipadaba/hipadaba_configuration.tcl @@ -0,0 +1,3 @@ +# Author: Jing Chen (jgn@ansto.gov.au) + +source $cfPath(hipadaba)/hipadaba_configuration_common.tcl diff --git a/site_ansto/instrument/dingo/config/hmm/hmm_configuration.tcl b/site_ansto/instrument/dingo/config/hmm/hmm_configuration.tcl new file mode 100644 index 00000000..ffacb694 --- /dev/null +++ b/site_ansto/instrument/dingo/config/hmm/hmm_configuration.tcl @@ -0,0 +1,121 @@ +# Author Jing Chen (jgn@ansto.gove.au) + + +source $cfPath(hmm)/hmm_configuration_common_1.tcl +source $cfPath(hmm)/hmm_cylindrical_detector_configuration.tcl +set sim_mode [SplitReply [hmm_simulation]] + +proc ::histogram_memory::init_OAT_TABLE {} { + if [ catch { + + OAT_TABLE X -setdata MAX_CHAN 8 + OAT_TABLE Y -setdata MAX_CHAN 1024 + OAT_TABLE X -setdata BMIN -0.5 + OAT_TABLE X -setdata BMAX 7.5 + OAT_TABLE Y -setdata BMIN -0.5 + OAT_TABLE Y -setdata BMAX 1023.5 + + OAT_TABLE -set X { 7.5 6.5 } NXC 8 Y { -0.5 0.5 } NYC 1024 T { 0 200000 } NTC 1 + } message ] { + if {$::errorCode=="NONE"} {return $message} + return -code error $message + } +} + +proc CAT_TABLE {args} { +return { + + + + + + + + + + + +} +} + +proc ::histogram_memory::init_CAT_TABLE {} { + CAT_TABLE -set MESYTEC_MPSD8_CHANNEL_GAINS { + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + } + CAT_TABLE -set MESYTEC_MPSD8_THRESHOLDS { 10 } + CAT_TABLE -set MESYTEC_TUBE_PAIR_RESISTANCE_RATIOS { + 1. 1. 1. 1. 1. 1. 1. 1. + } + CAT_TABLE -set MESYTEC_TUBE_MAGNIFICATIONS { + 1. 1. 1. 1. 1. 1. 1. 1. + } + CAT_TABLE -set MESYTEC_TUBE_OFFSETS { + 0. 0. 0. 0. 0. 0. 0. 0. + } + CAT_TABLE -set MESYTEC_TUBE_HISTOGRAM_WEIGHTS { + 1 1 1 1 1 1 1 1 + } +} + +## +# @brief Return the detector position +proc ::histogram_memory::detector_posn_degrees {} { + return [SplitReply [stth]] +} + +proc ::histogram_memory::pre_count {} {} +proc ::histogram_memory::post_count {} {} +proc ::histogram_memory::isc_initialize {} { + # Instrument specific X and Y dimension names + variable INST_NXC "oat_nxc_eff" + variable INST_NYC "oat_nyc_eff" + + if [ catch { + ::histogram_memory::init_hmm_objs + if {$::sim_mode == "true"} { + hmm configure oat_ntc_eff 1 + hmm configure $INST_NYC 1024 + hmm configure $INST_NXC 8 + } + BAT_TABLE -init +# CAT_TABLE -init + SAT_TABLE -init + OAT_TABLE -init + FAT_TABLE -init + ::histogram_memory::ic_initialize + ::histogram_memory::set_graphtype "two_theta" "boundaries" + +# MJL TODO detector geometry for Kookaburra TBD. Figures need revision during commissioning + # Width = 25mm spacing * 8 tubes = 5000mm (??? degree coverage) + # Height = 1015mm (tube length) + # Radius = 2400mm + detector_active_height_mm 1015 + detector_active_height_mm lock + detector_active_width_mm 5000 + detector_active_width_mm lock + detector_radius_mm 2400.0 + detector_radius_mm lock + + # hmm configure FAT_SIMULATED_EVENT_Y0 $y_bb0 + # hmm configure FAT_SIMULATED_EVENT_Y1 $ybbmax + # hmm configure FAT_SIMULATED_EVENT_X0 $x_bb0 + # hmm configure FAT_SIMULATED_EVENT_X1 $xbbmax + ::histogram_memory::init_OAT_TABLE + ::histogram_memory::init_SAT_TABLE +# ::histogram_memory::init_CAT_TABLE + ::histogram_memory::upload_config Filler_defaults + + set ::histogram_memory::histmem_axes(HOR) /instrument/detector/x_pixel_angular_offset + set ::histogram_memory::histmem_axes(VER) /instrument/detector/y_pixel_offset + } message ] { + if {$::errorCode=="NONE"} {return $message} + return -code error $message + } +} + +proc histmem {cmd args} { + eval "_histmem $cmd $args" +} +publish histmem user + + diff --git a/site_ansto/instrument/dingo/config/motors/motor_configuration.tcl b/site_ansto/instrument/dingo/config/motors/motor_configuration.tcl new file mode 100644 index 00000000..5e7e003c --- /dev/null +++ b/site_ansto/instrument/dingo/config/motors/motor_configuration.tcl @@ -0,0 +1,860 @@ +# Author: Jing Chen (jgn@ansto.gov.au) +# All Motors are 25000 steps per motor revolution + +# SET TO 1 TO USE THE TILT STAGE ie sample phi and chi +set use_tiltstage 0 + +set animal dingo +set sim_mode [SplitReply [motor_simulation]] + +# Setup addresses of Galil DMC2280 controllers. +set dmc2280_controller1(host) mc1-$animal +set dmc2280_controller1(port) pmc1-$animal + +set dmc2280_controller2(host) mc2-$animal +set dmc2280_controller2(port) pmc2-$animal + +set dmc2280_controller3(host) mc3-$animal +set dmc2280_controller3(port) pmc3-$animal + +set dmc2280_controller4(host) mc4-$animal +set dmc2280_controller4(port) pmc4-$animal + +set dmc2280_controller5(host) mc5-$animal +set dmc2280_controller5(port) pmc5-$animal + +set dmc2280_controller6(host) mc6-$animal +set dmc2280_controller6(port) pmc6-$animal + +if {$sim_mode == "true"} { + set motor_driver_type asim +} else { + set motor_driver_type DMC2280 +# MakeAsyncQueue mc1 DMC2280 $dmc2280_controller1(host) $dmc2280_controller1(port) +# MakeAsyncQueue mc2 DMC2280 $dmc2280_controller2(host) $dmc2280_controller2(port) + MakeAsyncQueue mc3 DMC2280 $dmc2280_controller3(host) $dmc2280_controller3(port) + MakeAsyncQueue mc4 DMC2280 $dmc2280_controller4(host) $dmc2280_controller4(port) +# MakeAsyncQueue mc6 DMC2280 $dmc2280_controller6(host) $dmc2280_controller6(port) +} + + +#Measured absolute encoder reading at home position +set dummy_Home 0 + +set ftz_Home 0 +set ptz_Home 0 +set pom_Home 0 +set stth_Home 0 +set mtth_Home 0 + +set sv1_Home 0 +set sh1_Home 0 +set sv2_Home 0 +set sh2_Home 0 +set gom_Home 0 +set scor_Home 0 + +# AND abs Encoder Reading with FFF to get the lowest 12 bits only +#set mra_Home 4286 +set mra_Home 191 +#set moma_Home 8386659 +set moma_Home 2147 +#set mrb_Home 294 +set mrb_Home 294 +#set momb_Home 8386694 +set momb_Home 2182 +#set mrc_Home 4558982 +set mrc_Home 86 +#set momc_Home 12499198 +set momc_Home 2302 + +set mphi_Home 0 +set mchi_Home 8383096 +set mx_Home 8390604 +set my_Home 8391084 +set mom_Home 8389414 + +set rco_Home 0 +set rcz_Home 0 +set bsr_Home 0 +set gv1_Home 0 +set gv2_Home 0 + + +# set movecount high to reduce the frequency of +# hnotify messages to a reasonable level +set move_count 100 + +############################ +# Motor Controller 1 +# Motor Controller 1 +# Motor Controller 1 +############################ +# + +# Dummy translation motor, useful for testing scans + +#Motor dummy_motor asim [params \ + asyncqueue mc1\ + host mc1-dingo\ + port pmc1-dingo\ + axis A\ + units mm\ + hardlowerlim -500\ + hardupperlim 500\ + maxSpeed 1\ + maxAccel 5\ + maxDecel 5\ + stepsPerX [expr 25000.0/5.0]\ + absEnc 1\ + absEncHome $dummy_Home\ + cntsPerX [expr 8192.0/5.0]] +#dummy_motor part instrument +#dummy_motor long_name dummy_motor +#dummy_motor softlowerlim -500 +#dummy_motor softupperlim 500 +#dummy_motor home 0 + +# mc1: Polariser & Spin Flipper - Z translation slide +# Moto: 100:1 gear, 2mm pitch +set ptzStepRate [expr (300000.0/100.0)/2.0] + +Motor ptz $motor_driver_type [params \ + asyncqueue mc1\ + host mc1-dingo\ + port pmc1-dingo\ + axis B\ + units mm\ + hardlowerlim 0\ + hardupperlim 500\ + maxSpeed [expr 400000.0/300000.0]\ + maxAccel [expr 150000.0/300000.0]\ + maxDecel [expr 150000.0/300000.0]\ + stepsPerX $ptzStepRate\ + absEnc 1\ + absEncHome $ptz_Home\ + cntsPerX 4096] +ptz part crystal +ptz long_name ptz +ptz softlowerlim 0 +ptz softupperlim 500 +ptz home 0 + +#if $use_tiltstage { +# mc1: Beryllium / Graphite filter shared - Z translation slide +# Moto: 100:1 gear, 2mm pitch +set ftzStepRate [expr (300000.0/100.0)/2.0] + +Motor ftz $motor_driver_type [params \ + asyncqueue mc1\ + host mc1-dingo\ + port pmc1-dingo\ + axis C\ + units mm\ + hardlowerlim 0\ + hardupperlim 500\ + maxSpeed [expr 400000.0/300000.0]\ + maxAccel [expr 150000.0/300000.0]\ + maxDecel [expr 150000.0/300000.0]\ + stepsPerX $ftzStepRate\ + absEnc 1\ + absEncHome $ftz_Home\ + cntsPerX 4096] +ftz part crystal +ftz long_name ftz +ftz softlowerlim 0 +ftz softupperlim 500 +ftz home 0 +} + +# mc1: Polariser (& Spin Flipper) - Rotation + - 2 deg about polariser (i.e, The Elbow) +set pomSetRate 25000 + +Motor pom $motor_driver_type [params \ + asyncqueue mc1\ + host mc1-dingo\ + port pmc1-dingo\ + axis E\ + units degrees\ + hardlowerlim 0\ + hardupperlim 2\ + maxSpeed [expr 250000.0/$pomSetRate]\ + maxAccel [expr 25000.0/$pomSetRate]\ + maxDecel [expr 25000.0/$pomSetRate]\ + stepsPerX $pomSetRate\ + absEnc 1\ + absEncHome $pom_Home\ + cntsPerX 4096] +pom part crystal +pom long_name pom +pom softlowerlim 0 +pom softupperlim 2 +pom home 0 + +# mc1: Sample/Detector Chamber Rotation (Detector) +set stthSetRate 25000 + +Motor stth $motor_driver_type [params \ + asyncqueue mc1\ + host mc1-dingo\ + port pmc1-dingo\ + axis F\ + units degrees\ + hardlowerlim -125\ + hardupperlim 8\ + maxSpeed [expr 150000.0/$stthSetRate]\ + maxAccel [expr 5000.0/$stthSetRate]\ + maxDecel [expr 5000.0/$stthSetRate]\ + stepsPerX $stthSetRate\ + absEnc 1\ + absEncHome $stth_Home\ + cntsPerX 4096] +stth part detector +stth long_name stth +stth softlowerlim -125 +stth softupperlim 8 +stth home 0 + +# mc1: Instrument Drive System (Main Drive) +set mtthSetRate 25000 + +Motor mtth $motor_driver_type [params \ + asyncqueue mc1\ + host mc1-dingo\ + port pmc1-dingo\ + axis G\ + units mm\ + hardlowerlim 40\ + hardupperlim 140\ + maxSpeed [expr 150000.0/$mtthSetRate]\ + maxAccel [expr 25000.0/$mtthSetRate]\ + maxDecel [expr 25000.0/$mtthSetRate]\ + stepsPerX $mtthSetRate\ + absEnc 1\ + absEncHome $mtth_Home\ + cntsPerX 4096] +mtth part detector +mtth long_name mtth +mtth softlowerlim 40 +mtth softupperlim 140 +mtth home 0 + + +############################ +# Motor Controller 2 +# Motor Controller 2 +# Motor Controller 2 +############################ +# + +# mc2: Slits Set AB1- (After Beryllium Filter) (2 blades and 1 Motor & Encoder set) +set sv1SetRate 25000 + +Motor sv1 $motor_driver_type [params \ + asyncqueue mc2\ + host mc2-dingo\ + port pmc2-dingo\ + axis A\ + units mm\ + hardlowerlim -2\ + hardupperlim 60\ + maxSpeed [expr 25000.0/$sv1SetRate]\ + maxAccel [expr 25000.0/$sv1SetRate]\ + maxDecel [expr 25000.0/$sv1SetRate]\ + stepsPerX $sv1SetRate\ + absEnc 1\ + absEncHome $sv1_Home\ + cntsPerX 4096] +sv1 part aperture +sv1 long_name sv1 +sv1 softlowerlim -2 +sv1 softupperlim 60 +sv1 home 0 + +# mc2: Slits Set AB2- (After Beryllium Filter) (2 blades and 1 Motor & Encoder set) +set sh1SetRate 25000 + +Motor sh1 $motor_driver_type [params \ + asyncqueue mc2\ + host mc2-dingo\ + port pmc2-dingo\ + axis B\ + units mm\ + hardlowerlim -2\ + hardupperlim 50\ + maxSpeed [expr 25000.0/$sh1SetRate]\ + maxAccel [expr 25000.0/$sh1SetRate]\ + maxDecel [expr 25000.0/$sh1SetRate]\ + stepsPerX $sh1SetRate\ + absEnc 1\ + absEncHome $sh1_Home\ + cntsPerX 4096] +sh1 part aperture +sh1 long_name sh1 +sh1 softlowerlim -2 +sh1 softupperlim 50 +sh1 home 0 + +# mc2: Slits Set AF1- (After Fermi Chopper) (2 blades and 1 Motor & Encoder set) +set sv2SetRate 25000 + +Motor sv2 $motor_driver_type [params \ + asyncqueue mc2\ + host mc2-dingo\ + port pmc2-dingo\ + axis C\ + units mm\ + hardlowerlim -2\ + hardupperlim 40\ + maxSpeed [expr 25000.0/$sv2SetRate]\ + maxAccel [expr 25000.0/$sv2SetRate]\ + maxDecel [expr 25000.0/$sv2SetRate]\ + stepsPerX $sv2SetRate\ + absEnc 1\ + absEncHome $sv2_Home\ + cntsPerX 4096] +sv2 part aperture +sv2 long_name sv2 +sv2 softlowerlim -2 +sv2 softupperlim 40 +sv2 home 0 + +# mc2: Slits Set AF2- (After Fermi Chopper) (2 blades and 1 Motor & Encoder set) +set sh2SetRate 25000 + +Motor sh2 $motor_driver_type [params \ + asyncqueue mc2\ + host mc2-dingo\ + port pmc2-dingo\ + axis D\ + units mm\ + hardlowerlim -2\ + hardupperlim 30\ + maxSpeed [expr 25000.0/$sh2SetRate]\ + maxAccel [expr 25000.0/$sh2SetRate]\ + maxDecel [expr 25000.0/$sh2SetRate]\ + stepsPerX $sh2SetRate\ + absEnc 1\ + absEncHome $sh2_Home\ + cntsPerX 4096] +sh2 part aperture +sh2 long_name sh2 +sh2 softlowerlim -2 +sh2 softupperlim 30 +sh2 home 0 + +# mc2: Graphite filter rotation stage (post 1st slit and post 1st Fermi chopper) +set gomSetRate 25000 + +Motor gom $motor_driver_type [params \ + asyncqueue mc2\ + host mc2-dingo\ + port pmc2-dingo\ + axis E\ + units degrees\ + hardlowerlim 0\ + hardupperlim 15\ + maxSpeed [expr 50000.0/$gomSetRate]\ + maxAccel [expr 25000.0/$gomSetRate]\ + maxDecel [expr 25000.0/$gomSetRate]\ + stepsPerX $gomSetRate\ + absEnc 1\ + absEncHome $gom_Home\ + cntsPerX 4096] +gom part sample +gom long_name gom +gom softlowerlim 0 +gom softupperlim 15 +gom home 0 + +# mc2: Sample rotation correction - 10 deg rotation +set scorSetRate 25000 + +Motor scor $motor_driver_type [params \ + asyncqueue mc2\ + host mc2-dingo\ + port pmc2-dingo\ + axis F\ + units degrees\ + hardlowerlim 0\ + hardupperlim 360\ + maxSpeed [expr 50000.0/$scorSetRate]\ + maxAccel [expr 25000.0/$scorSetRate]\ + maxDecel [expr 25000.0/$scorSetRate]\ + stepsPerX $scorSetRate\ + absEnc 1\ + absEncHome $scor_Home\ + cntsPerX 4096] +scor part sample +scor long_name scor +scor softlowerlim 0 +scor softupperlim 360 +scor home 0 + +############################ +# Motor Controller 3 +# Motor Controller 3 +# Motor Controller 3 +############################ +# + +# ROTATION STAGES 120:1 PLUS GEARBOX 8:1 +# ROTATION STAGE RESOLVER 360:55 + +# FOCUS STAGE GEARBOX 6:1 +# FOCUS STAGE RESOLVER DIRECT 310 DEG, 3527 COUNTS USABLE RANGE + +# Computes Monochromator step rates (steps per degree) of focusing and Rotation +# 1 unit here is 1 degree +set monoRotateStepsPerUnit [expr 25000.0*8.0*120.0/360.0] + +# Encode reading at the roation, 1 unit here is 1 degree +set MonoRotateCntsPerUnit [expr 4096.0*360.0/55.0/360.0] + +# Setup Focus range as min = 0 and max = 1, working range = 0 to 1 (310 degrees) +# or, 0 for full focus and 1 for non focus +# Focusing rate 25000 steps * 6:1 gears = 150000, 1 unit here is 310 degrees +set monoFocusStepsPerUnit [expr -25000.0*6.0*310.0/360.0] + +# Encode reading at Focusing stage, 1 unit here is 310 degrees +set monoFocusCntsPerUnit [expr 4096.0*310.0/360.0] + +# Max speed for Focusing , -- currently set as 0.083 +# speed unit here is 310 degrees +set monoFocusSpeed 0.05 +set monoFocusMaxSpeed 0.083 + +# Precision setting turn/move, or 310*turn/move (degrees) +set monoFocusprecision 0.001 + +# mc3: Monochromator Focusing 1 - Focus +Motor mra $motor_driver_type [params \ + asyncqueue mc3\ + host mc3-dingo\ + port pmc3-dingo\ + axis A\ + units degrees\ + hardlowerlim 0\ + hardupperlim 1\ + precision $monoFocusprecision\ + maxSpeed $monoFocusMaxSpeed\ + maxAccel [expr 25000.0/25000.0]\ + maxDecel [expr 25000.0/25000.0]\ + stepsPerX $monoFocusStepsPerUnit\ + absEnc 1\ + absEncHome $mra_Home\ + bias_bits 12\ + cntsPerX $monoFocusCntsPerUnit] +mra speed $monoFocusSpeed +mra accel $monoFocusSpeed +mra decel $monoFocusSpeed +mra part crystal +mra long_name mra +mra softlowerlim 0 +mra softupperlim 1 +mra home 0 +# fix the motor +mra fixed -1 + +# mc3: Monochromator Focusing 1 - Rotation +Motor moma $motor_driver_type [params \ + asyncqueue mc3\ + host mc3-dingo\ + port pmc3-dingo\ + axis B\ + units degrees\ + hardlowerlim -72.003174\ + hardupperlim -20.0379\ + maxSpeed 0.5\ + maxAccel 0.5\ + maxDecel 0.5\ + stepsPerX $monoRotateStepsPerUnit\ + absEnc 1\ + absEncHome $moma_Home\ + bias_bits 12\ + cntsPerX $MonoRotateCntsPerUnit] +moma part crystal +moma long_name moma +moma softlowerlim -70 +moma softupperlim -20.537842 +moma home -45 + +# mc3: Monochromator Focusing 2 - Focus +Motor mrb $motor_driver_type [params \ + asyncqueue mc3\ + host mc3-dingo\ + port pmc3-dingo\ + axis C\ + units degrees\ + hardlowerlim 0\ + hardupperlim 1\ + precision $monoFocusprecision\ + maxSpeed $monoFocusMaxSpeed\ + maxAccel [expr 25000.0/25000.0]\ + maxDecel [expr 25000.0/25000.0]\ + stepsPerX $monoFocusStepsPerUnit\ + absEnc 1\ + absEncHome $mrb_Home\ + bias_bits 12\ + cntsPerX $monoFocusCntsPerUnit] +mrb speed $monoFocusSpeed +mrb accel $monoFocusSpeed +mrb decel $monoFocusSpeed +mrb part crystal +mrb long_name mrb +mrb softlowerlim 0 +mrb softupperlim 1 +mrb home 0 +# fix the motor +mrb fixed -1 + +# mc3: Monochromator Focusing 2 - Rotation +Motor momb $motor_driver_type [params \ + asyncqueue mc3\ + host mc3-dingo\ + port pmc3-dingo\ + axis D\ + units degree\ + hardlowerlim -72.003174\ + hardupperlim -20.198975\ + maxSpeed 0.5\ + maxAccel 0.5\ + maxDecel 0.5\ + stepsPerX $monoRotateStepsPerUnit\ + absEnc 1\ + absEncHome $momb_Home\ + bias_bits 12\ + cntsPerX $MonoRotateCntsPerUnit] +momb part crystal +momb long_name momb +momb softlowerlim -70 +momb softupperlim -20.698975 +momb home -45 + +# mc3: Monochromator Focusing 3 - Focus +Motor mrc $motor_driver_type [params \ + asyncqueue mc3\ + host mc3-dingo\ + port pmc3-dingo\ + axis E\ + units degrees\ + hardlowerlim 0\ + hardupperlim 1\ + precision $monoFocusprecision\ + maxSpeed $monoFocusMaxSpeed\ + maxAccel [expr 25000.0/25000.0]\ + maxDecel [expr 25000.0/25000.0]\ + stepsPerX $monoFocusStepsPerUnit\ + absEnc 1\ + absEncHome $mrc_Home\ + bias_bits 12\ + cntsPerX $monoFocusCntsPerUnit] +mrc speed $monoFocusSpeed +mrc accel $monoFocusSpeed +mrc decel $monoFocusSpeed +mrc part crystal +mrc long_name mrc +mrc softlowerlim 0 +mrc softupperlim 1 +mrc home 0 +# fix the motor +mrc fixed -1 + +# mc3: Monochromator Focusing 3 - Rotation +Motor momc $motor_driver_type [params \ + asyncqueue mc3\ + host mc3-dingo\ + port pmc3-dingo\ + axis F\ + units degree\ + hardlowerlim -72.003174\ + hardupperlim -21.246338\ + maxSpeed 0.5\ + maxAccel 0.5\ + maxDecel 0.5\ + stepsPerX $monoRotateStepsPerUnit\ + absEnc 1\ + absEncHome $momc_Home\ + bias_bits 12\ + cntsPerX $MonoRotateCntsPerUnit] +momc part crystal +momc long_name momc +momc softlowerlim -70 +momc softupperlim -21.746338 +momc home -45 + + +############################ +# Motor Controller 4 +# Motor Controller 4 +# Motor Controller 4 +############################ +# + +# mc4: Monochromator crystal stages tilt stage - G270 +set mphiSetRate 25000 + +Motor mphi $motor_driver_type [params \ + asyncqueue mc4\ + host mc4-dingo\ + port pmc4-dingo\ + axis A\ + units degrees\ + hardlowerlim -5\ + hardupperlim 5\ + maxSpeed [expr 50000.0/25000.0]\ + maxAccel [expr 12500.0/25000.0]\ + maxDecel [expr 12500.0/25000.0]\ + stepsPerX $mphiSetRate\ + absEnc 1\ + absEncHome $mphi_Home\ + cntsPerX 4096] +mphi part crystal +mphi long_name mphi +mphi softlowerlim -5 +mphi softupperlim 5 +mphi home 0 + +# mc4: Monochromator crystal stages tilt stage - G350 +set mchiSetRate 25000 + +Motor mchi $motor_driver_type [params \ + asyncqueue mc4\ + host mc4-dingo\ + port pmc4-dingo\ + axis B\ + units degrees\ + hardlowerlim -5\ + hardupperlim 5\ + maxSpeed [expr 50000.0/25000.0]\ + maxAccel [expr 12500.0/25000.0]\ + maxDecel [expr 12500.0/25000.0]\ + stepsPerX $mchiSetRate\ + absEnc 1\ + absEncHome $mchi_Home\ + cntsPerX 4096] +mchi part crystal +mchi long_name mchi +mchi softlowerlim -5 +mchi softupperlim 5 +mchi home 0 +mchi speed 0.2 +mchi accel 0.1 +mchi decel 0.1 + +# mc4: Monochromator crystal stages Linear stage X - T250 +set mxSetRate 25000 + +Motor mx $motor_driver_type [params \ + asyncqueue mc4\ + host mc4-dingo\ + port pmc4-dingo\ + axis C\ + units mm\ + hardlowerlim -20\ + hardupperlim 20\ + maxSpeed [expr 50000.0/25000.0]\ + maxAccel [expr 12500.0/25000.0]\ + maxDecel [expr 12500.0/25000.0]\ + stepsPerX $mxSetRate\ + absEnc 1\ + absEncHome $mx_Home\ + cntsPerX 4096] +mx part crystal +mx long_name mx +mx softlowerlim -20 +mx softupperlim 20 +mx home 0 +mx speed 1.0 + +# mc4: Monochromator crystal stages Linear stage Y - T250 +set mySetRate 25000 + +Motor my $motor_driver_type [params \ + asyncqueue mc4\ + host mc4-dingo\ + port pmc4-dingo\ + axis D\ + units mm\ + hardlowerlim -20\ + hardupperlim 20\ + maxSpeed [expr 50000.0/25000.0]\ + maxAccel [expr 12500.0/25000.0]\ + maxDecel [expr 12500.0/25000.0]\ + stepsPerX $mySetRate\ + absEnc 1\ + absEncHome $my_Home\ + cntsPerX 4096] +my part crystal +my long_name my +my softlowerlim -10 +my softupperlim 10 +my home 0 +my speed 1.0 + +# mc4: Monochromator crystal stages Rotation stage - R275 +set momSetRate 25000 + +Motor mom $motor_driver_type [params \ + asyncqueue mc4\ + host mc4-dingo\ + port pmc4-dingo\ + axis E\ + units degrees\ + hardlowerlim -15\ + hardupperlim 15\ + maxSpeed [expr 50000.0/25000.0]\ + maxAccel [expr 12500.0/25000.0]\ + maxDecel [expr 12500.0/25000.0]\ + stepsPerX $momSetRate\ + absEnc 1\ + absEncHome $mom_Home\ + cntsPerX 4096] +mom speed 0.5 +mom part crystal +mom long_name mom +mom softlowerlim -15 +mom softupperlim 15 +mom home 0 + + +############################ +# Motor Controller 6 +# Motor Controller 6 +# Motor Controller 6 +############################ +# + +# mc6: Radial Collimator -- Oscillator +Motor rco $motor_driver_type [params \ + asyncqueue mc6\ + host mc6-dingo\ + port pmc6-dingo\ + axis A\ + units mm\ + hardlowerlim 0\ + hardupperlim 180\ + maxSpeed 50000\ + maxAccel 60000\ + maxDecel 60000\ + stepsPerX 4096\ + absEnc 1\ + absEncHome $rco_Home\ + cntsPerX 4096] +rco part collimator +rco long_name rco +rco softlowerlim 0 +rco softupperlim 180 +rco home 0 + +# mc6: Radial Collimator -- Z Translation +Motor rcz $motor_driver_type [params \ + asyncqueue mc6\ + host mc6-dingo\ + port pmc6-dingo\ + axis B\ + units mm\ + hardlowerlim 0\ + hardupperlim 180\ + maxSpeed 50000\ + maxAccel 60000\ + maxDecel 60000\ + stepsPerX 4096\ + absEnc 1\ + absEncHome $rcz_Home\ + cntsPerX 4096] +rcz part collimator +rcz long_name rcz +rcz softlowerlim 0 +rcz softupperlim 180 +rcz home 0 + +# mc6: Beam Stop Stage - Rotation +Motor bsr $motor_driver_type [params \ + asyncqueue mc6\ + host mc6-dingo\ + port pmc6-dingo\ + axis C\ + units degrees\ + hardlowerlim 0\ + hardupperlim 180\ + maxSpeed 50000\ + maxAccel 60000\ + maxDecel 60000\ + stepsPerX 4096\ + absEnc 1\ + absEncHome $bsr_Home\ + cntsPerX 4096] +bsr part sample +bsr long_name bsr +bsr softlowerlim 0 +bsr softupperlim 180 +bsr home 0 + +# mc6: Isolation Vaue -- Axis 1, currently this Axis is set to read ONLY to read the encoder +Motor gv1 $motor_driver_type [params \ + asyncqueue mc6\ + host mc6-dingo\ + port pmc6-dingo\ + axis E\ + units degrees\ + hardlowerlim 0\ + hardupperlim 180\ + maxSpeed 50000\ + maxAccel 60000\ + maxDecel 60000\ + stepsPerX 4096\ + absEnc 1\ + absEncHome $gv1_Home\ + cntsPerX 4096] +gv1 part sample +gv1 long_name gv1 +gv1 softlowerlim 0 +gv1 softupperlim 180 +gv1 home 0 +# fix the motor +gv1 fixed -1 + +# mc6: Isolation Vaue -- Axis 2, currently this Axis is set to read ONLY to read the encoder +Motor gv2 $motor_driver_type [params \ + asyncqueue mc6\ + host mc6-dingo\ + port pmc6-dingo\ + axis F\ + units degrees\ + hardlowerlim 0\ + hardupperlim 180\ + maxSpeed 30000\ + maxAccel 60000\ + maxDecel 60000\ + stepsPerX 4096\ + absEnc 1\ + absEncHome $gv2_Home\ + cntsPerX 4096] +gv2 part sample +gv2 long_name gv2 +gv2 softlowerlim 0 +gv2 softupperlim 180 +gv2 home 0 +# fix the motor +gv2 fixed -1 + +proc motor_set_sobj_attributes {} { +} +# END MOTOR CONFIGURATION + +# According to http://www.nexusformat.org/Design units must conform to +# http://www.unidata.ucar.edu/software/udunits/udunits-1/udunits.txt +# So we use "count" for dimensionless decimal numbers +#set vc_units count +#make_coll_motor_2 c1 section_1 pc1 pc2 $vc_units +#make_coll_motor_1 c2 section_2 pc3 $vc_units +#make_coll_motor_1 c3 section_3 pc4 $vc_units +#make_coll_motor_1 c4 section_4 pc5 $vc_units +#make_coll_motor_1 c5 section_5 pc6 $vc_units +#make_coll_motor_1 c6 section_6 pc7 $vc_units +#make_coll_motor_1 c7 section_7 pc8 $vc_units +#make_coll_motor_1 c8 section_8 pc9 $vc_units +#make_coll_motor_1 c9 section_9 pc10 $vc_units +#unset vc_units + diff --git a/site_ansto/instrument/dingo/config/motors/positmotor_configuration.tcl b/site_ansto/instrument/dingo/config/motors/positmotor_configuration.tcl new file mode 100644 index 00000000..ba149ff7 --- /dev/null +++ b/site_ansto/instrument/dingo/config/motors/positmotor_configuration.tcl @@ -0,0 +1,61 @@ +# Author: Jing Chen (jgn@ansto.gov.au) + +source $cfPath(motors)/sct_positmotor_common.tcl + +set port1 [portnum pmc1-dingo] +set port2 [portnum pmc2-dingo] +set port3 [portnum pmc3-dingo] +set port4 [portnum pmc4-dingo] +set port5 [portnum pmc5-dingo] +set port6 [portnum pmc6-dingo] + +makesctcontroller sct_mc1 std mc1-dingo:$port1 +makesctcontroller sct_mc2 std mc2-dingo:$port2 +makesctcontroller sct_mc3 std mc3-dingo:$port3 +makesctcontroller sct_mc4 std mc4-dingo:$port4 +makesctcontroller sct_mc5 std mc5-dingo:$port5 +makesctcontroller sct_mc6 std mc6-dingo:$port6 + + +# label pos +#index position +set 20sample_table { + 1 453.7 + 2 411.7 + 3 369.7 + 4 327.7 + 5 285.7 + 6 203.7 + 7 161.7 + 8 119.7 + 9 77.7 + 10 35.7 + 11 -46.3 + 12 -88.3 + 13 -130.3 + 14 -172.3 + 15 -214.3 + 16 -296.3 + 17 -338.3 + 18 -380.3 + 19 -422.3 + 20 -464.3 +} + +#mkPosit sct_mc1 sampleNum float samx sample $20sample_table + +#diameter position +set auto_ap_table { + 2.5 0 + 5.0 -23 + 7.5 -47 + 10.0 -72 + 12.5 -98 + 15.0 -125 + 17.5 -153 + 20.0 -183 + 25.0 -215 + 30.0 -250 +} +#mkPosit sct_mc3 diameter float apx sample $auto_ap_table + diff --git a/site_ansto/instrument/dingo/config/nexus/Makefile b/site_ansto/instrument/dingo/config/nexus/Makefile new file mode 100644 index 00000000..7af3113c --- /dev/null +++ b/site_ansto/instrument/dingo/config/nexus/Makefile @@ -0,0 +1,3 @@ +all: + +clean: diff --git a/site_ansto/instrument/dingo/config/nexus/nxscripts.tcl b/site_ansto/instrument/dingo/config/nexus/nxscripts.tcl new file mode 100644 index 00000000..5f4166ab --- /dev/null +++ b/site_ansto/instrument/dingo/config/nexus/nxscripts.tcl @@ -0,0 +1,4 @@ +source $cfPath(nexus)/nxscripts_common_1.tcl +proc ::nexus::isc_initialize {} { + ::nexus::ic_initialize +} diff --git a/site_ansto/instrument/dingo/config/plc/plc.tcl b/site_ansto/instrument/dingo/config/plc/plc.tcl new file mode 100644 index 00000000..b3d685ba --- /dev/null +++ b/site_ansto/instrument/dingo/config/plc/plc.tcl @@ -0,0 +1,8 @@ +set sim_mode [SplitReply [plc_simulation]] +if {$sim_mode == "false"} { +# MakeAsyncQueue plc_chan SafetyPLC 137.157.204.79 31001 +# MakeSafetyPLC plc plc_chan 0 +} + +source $cfPath(plc)/plc_common_1.tcl + diff --git a/site_ansto/instrument/dingo/config/scan/scan.tcl b/site_ansto/instrument/dingo/config/scan/scan.tcl new file mode 100644 index 00000000..dd396f62 --- /dev/null +++ b/site_ansto/instrument/dingo/config/scan/scan.tcl @@ -0,0 +1,6 @@ +source $cfPath(scan)/scan_common_1.tcl +proc ::scan::pre_hmm_scan_prepare {} {} + +proc ::scan::isc_initialize {} { + ::scan::ic_initialize +} diff --git a/site_ansto/instrument/dingo/config/source/source.tcl b/site_ansto/instrument/dingo/config/source/source.tcl new file mode 100644 index 00000000..50967ab8 --- /dev/null +++ b/site_ansto/instrument/dingo/config/source/source.tcl @@ -0,0 +1,8 @@ +# Author Jing Chen (jgn@ansto.gov.au) + +source $cfPath(source)/source_common.tcl + +proc ::source::isc_initialize {} { + ::source::ic_initialize "thermal" +} + diff --git a/site_ansto/instrument/dingo/dingo_configuration.tcl b/site_ansto/instrument/dingo/dingo_configuration.tcl new file mode 100644 index 00000000..011fb335 --- /dev/null +++ b/site_ansto/instrument/dingo/dingo_configuration.tcl @@ -0,0 +1,52 @@ +# Author: Jing Chen (jgn@ansto.gov.au) + +# Required by server_config.tcl +VarMake Instrument Text Internal +Instrument dingo +Instrument lock + +#START SERVER CONFIGURATION SECTION +source util/dmc2280/dmc2280_util.tcl +source sics_ports.tcl +source server_config.tcl +#END SERVER CONFIGURATION SECTION + +######################################## +# INSTRUMENT SPECIFIC CONFIGURATION + +source $cfPath(hipadaba)/hipadaba_configuration.tcl + +fileeval $cfPath(source)/source.tcl +fileeval $cfPath(motors)/motor_configuration.tcl +fileeval $cfPath(motors)/positmotor_configuration.tcl +#fileeval $cfPath(motors)/extraconfig.tcl +fileeval $cfPath(plc)/plc.tcl +fileeval $cfPath(counter)/counter.tcl +fileeval $cfPath(hmm)/hmm_configuration.tcl +fileeval $cfPath(nexus)/nxscripts.tcl +fileeval $cfPath(scan)/scan.tcl +fileeval $cfPath(commands)/commands.tcl +fileeval $cfPath(commands)/monodrive.tcl +fileeval $cfPath(anticollider)/anticollider.tcl +fileeval $cfPath(beamline)/hv_control.tcl + +source gumxml.tcl + +::utility::mkVar ::anticollider::protect_detector text manager protect_detector false detector true false +::anticollider::protect_detector "true" + +# fix all motors +foreach m [sicslist type motor] { + if {$m == "motor" || $m == "dummy_motor"} { + # skipit + } else { + clientput fix $m position + $m fixed 1 + } +} + +server_init +########################################### +# WARNING: Do not add any code below server_init, if you do SICS may fail to initialise properly. + +# You can add extra-configuration code in ../extraconfig.tcl diff --git a/site_ansto/instrument/dingo/script_validator_ports.tcl b/site_ansto/instrument/dingo/script_validator_ports.tcl new file mode 100644 index 00000000..6a7dd81d --- /dev/null +++ b/site_ansto/instrument/dingo/script_validator_ports.tcl @@ -0,0 +1,4 @@ +set quieckport sics-quieck-val-dingo +set serverport sics-server-val-dingo +set interruptport sics-interrupt-val-dingo +set telnetport sics-telnet-val-dingo diff --git a/site_ansto/instrument/dingo/sics_ports.tcl b/site_ansto/instrument/dingo/sics_ports.tcl new file mode 100644 index 00000000..bc6b54a6 --- /dev/null +++ b/site_ansto/instrument/dingo/sics_ports.tcl @@ -0,0 +1,4 @@ +set quieckport sics-quieck-dingo +set serverport sics-server-dingo +set interruptport sics-interrupt-dingo +set telnetport sics-telnet-dingo diff --git a/site_ansto/instrument/dingo/util/dmc2280/troubleshoot_setup.tcl b/site_ansto/instrument/dingo/util/dmc2280/troubleshoot_setup.tcl new file mode 100644 index 00000000..c534d253 --- /dev/null +++ b/site_ansto/instrument/dingo/util/dmc2280/troubleshoot_setup.tcl @@ -0,0 +1,17 @@ +# Author: Ferdi Franceschini (ffr@ansto.gov.au) + +set configFileName "motor_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" +