diff --git a/site_ansto/instrument/hipd/MANIFEST.TXT b/site_ansto/instrument/hipd/MANIFEST.TXT index 0ab31880..280229d1 100644 --- a/site_ansto/instrument/hipd/MANIFEST.TXT +++ b/site_ansto/instrument/hipd/MANIFEST.TXT @@ -5,3 +5,5 @@ instrument_vars.tcl wombat_configuration.tcl config util +hostport_config.tcl +hostport_config_test.tcl diff --git a/site_ansto/instrument/hipd/config/counter/counter.tcl b/site_ansto/instrument/hipd/config/counter/counter.tcl index 3ae86d84..4f7e802b 100644 --- a/site_ansto/instrument/hipd/config/counter/counter.tcl +++ b/site_ansto/instrument/hipd/config/counter/counter.tcl @@ -15,10 +15,14 @@ proc ::counter::isc_initialize {} { 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 30000 30001 30002 30003 30004 30005 30006 30007] + dict for {k v} $::MONITOR_HOSTPORT { + lappend monlist $k + lappend hostlist [dict get $v HOST] + lappend isc_portlist [dict get $v PORT] + } + variable isc_beam_monitor_list $monlist + set isc_monitor_address [lindex $hostlist 0] set isc_numchannels [llength $isc_beam_monitor_list] ::counter::ic_initialize } message ] { diff --git a/site_ansto/instrument/hipd/config/motors/motor_configuration.tcl b/site_ansto/instrument/hipd/config/motors/motor_configuration.tcl index 7d376317..bf6933fd 100644 --- a/site_ansto/instrument/hipd/config/motors/motor_configuration.tcl +++ b/site_ansto/instrument/hipd/config/motors/motor_configuration.tcl @@ -8,28 +8,15 @@ set animal wombat 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 - 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) - makesctcontroller sct_mc2 galil mc2-wombat:[portnum pmc2-wombat] + MakeAsyncQueue mc1 DMC2280 [dict get $::MOTOR_HOSTPORT MC1 HOST] [dict get $::MOTOR_HOSTPORT MC1 PORT] + MakeAsyncQueue mc2 DMC2280 [dict get $::MOTOR_HOSTPORT MC2 HOST] [dict get $::MOTOR_HOSTPORT MC2 PORT] + MakeAsyncQueue mc3 DMC2280 [dict get $::MOTOR_HOSTPORT MC3 HOST] [dict get $::MOTOR_HOSTPORT MC3 PORT] + MakeAsyncQueue mc4 DMC2280 [dict get $::MOTOR_HOSTPORT MC4 HOST] [dict get $::MOTOR_HOSTPORT MC4 PORT] + makesctcontroller sct_mc2 galil [dict get $::MOTOR_HOSTPORT MC2 HOST]:[dict get $::MOTOR_HOSTPORT MC2 PORT] } #Measured absolute encoder reading at home position diff --git a/site_ansto/instrument/hipd/hostport_config.tcl b/site_ansto/instrument/hipd/hostport_config.tcl new file mode 100644 index 00000000..d74bbf1c --- /dev/null +++ b/site_ansto/instrument/hipd/hostport_config.tcl @@ -0,0 +1,29 @@ +# MOTOR HOST AND PORT +foreach {mc host port} { + MC1 mc1-wombat pmc1-wombat + MC2 mc2-wombat pmc2-wombat + MC3 mc3-wombat pmc3-wombat + MC4 mc4-wombat pmc4-wombat +} { + dict set MOTOR_HOSTPORT $mc HOST $host + dict set MOTOR_HOSTPORT $mc PORT $port +} + +# BEAM MONITOR HOST AND PORT +foreach {bm host port} { + MONITOR_1 das1-wombat 30000 + MONITOR_2 das1-wombat 30001 + MONITOR_3 das1-wombat 30002 +} { + dict set MONITOR_HOSTPORT $bm HOST $host + dict set MONITOR_HOSTPORT $bm PORT $port +} + +# HISTOGRAM SERVER HOST AND PORT +foreach {key host port} { + HMM das1-wombat.nbi.ansto.gov.au 8080 + HMSTAT das1-wombat.nbi.ansto.gov.au 8081 +} { + dict set HISTMEM_HOSTPORT $key HOST $host + dict set HISTMEM_HOSTPORT $key PORT $port +} diff --git a/site_ansto/instrument/hipd/hostport_config_test.tcl b/site_ansto/instrument/hipd/hostport_config_test.tcl new file mode 100644 index 00000000..2398eff8 --- /dev/null +++ b/site_ansto/instrument/hipd/hostport_config_test.tcl @@ -0,0 +1,31 @@ +# Specify NONE for HOST and PORT if there is no fake device to talk to. + +# TEST MOTOR HOST AND PORT +foreach {key host port} { + MC1 localhost 62134 + MC2 localhost 62135 + MC3 localhost 62136 + MC4 localhost 62137 +} { + dict set MOTOR_HOSTPORT $key HOST $host + dict set MOTOR_HOSTPORT $key PORT $port +} + +# TEST BEAM MONITOR HOST AND PORT +foreach {key host port} { + MONITOR_1 localhost 30000 + MONITOR_2 localhost 30001 + MONITOR_3 localhost 30002 +} { + dict set MONITOR_HOSTPORT $key HOST $host + dict set MONITOR_HOSTPORT $key PORT $port +} + +# TEST HISTOGRAM SERVER HOST AND PORT +foreach {key host port} { + HMM das1-test.nbi.ansto.gov.au 8080 + HMSTAT das1-test.nbi.ansto.gov.au 8081 +} { + dict set HISTMEM_HOSTPORT $key HOST $host + dict set HISTMEM_HOSTPORT $key PORT $port +}