diff --git a/site_ansto/instrument/hrpd/config/motors/motor_configuration.tcl b/site_ansto/instrument/hrpd/config/motors/motor_configuration.tcl index d18de676..45e7b380 100644 --- a/site_ansto/instrument/hrpd/config/motors/motor_configuration.tcl +++ b/site_ansto/instrument/hrpd/config/motors/motor_configuration.tcl @@ -95,9 +95,52 @@ set slit2HGroup second/horizontal # hnotify messages to a reasonable level set move_count 10 -fileeval $cfPath(motors)/tilt_configuration.tcl -#fileeval $cfPath(motors)/small_omega.tcl -#fileeval $cfPath(motors)/euler_configuration.tcl +########################################## +# Set axis_config as follows to use different axis configurations +# 0: tilt stage configuration +# 1: eulerian cradle +# 2: small omega +# 3: Oxford magnet sample stick +set axis_config 0 + +if { [ info exists ::config_dict ] } { + if { [ dict exists $::config_dict sample_stage implementation ] } { + set implementation [ dict get $::config_dict sample_stage implementation ] + if {$implementation == "normal_sample_stage"} { + set axis_config 0 + } elseif {$implementation == "eularian_cradle"} { + set axis_config 1 + } elseif {$implementation == "small_omega"} { + set axis_config 2 + } elseif {$implementation == "12tmagnet_sample_insert"} { + set axis_config 3 + } else { + set axis_config 0 + } + } +} + +switch $axis_config { + 0 { + set sample_stage_rotate "som" + fileeval $cfPath(motors)/tilt_configuration.tcl + } + 1 { + set sample_stage_rotate "som" + fileeval $cfPath(motors)/euler_configuration.tcl + } + 2 { + set sample_stage_rotate "som" + fileeval $cfPath(motors)/small_omega_config.tcl + } + 3 { + # Rename the sample stage som to somss because + # som now controls the magnet sample stick + set sample_stage_rotate "somss" + fileeval $cfPath(motors)/magnet_configuration.tcl + } +} + ############################ # Motor Controller 1 # Motor Controller 1 @@ -359,7 +402,7 @@ scr long_name secondary_collimator_rotation ############################ # Sample Omega, rotate -Motor som $motor_driver_type [params \ +Motor $sample_stage_rotate $motor_driver_type [params \ asyncqueue mc2\ axis E\ units degrees\ @@ -372,12 +415,12 @@ Motor som $motor_driver_type [params \ absEnc 1\ absEncHome $som_Home\ cntsPerX 4096] -setHomeandRange -motor som -home 0 -lowrange 169 -uprange 167 -som speed 1 -som movecount $move_count -som precision 0.01 -som part sample -som long_name rotate +setHomeandRange -motor $sample_stage_rotate -home 0 -lowrange 169 -uprange 167 +$sample_stage_rotate speed 1 +$sample_stage_rotate movecount $move_count +$sample_stage_rotate precision 0.01 +$sample_stage_rotate part sample +$sample_stage_rotate long_name rotate # Sample two-theta, detector rotate Motor stth $motor_driver_type [params \ diff --git a/site_ansto/instrument/hrpd/util/sics_config.ini b/site_ansto/instrument/hrpd/util/sics_config.ini index 7c378da0..23c74376 100644 --- a/site_ansto/instrument/hrpd/util/sics_config.ini +++ b/site_ansto/instrument/hrpd/util/sics_config.ini @@ -1,171 +1,295 @@ -[12tmagnet] -desc = "12 Tesla Oxford Magnet" -driver = "12tmagnet" +[12tmagnet_setup] +cascade = B1:12tmagnet_oxford,sample_stage:12tmagnet_sample_insert,T1:mercury_scpi_01 enabled = False -group = environment:magnet -id = 27 +[CF1] +cascade = T1:CF1_ls340,sample_stage:normal_sample_stage +enabled = False +[CF8] +cascade = T1:ls336_01,T2:ls340_11,sample_stage:normal_sample_stage +enabled = False +[Default] +cascade = sample_stage:normal_sample_stage +enabled = True +[B1] +datype = B +enabled = False +id = 1 +implementation = none +name = magnet1 +optype = magnetic_field +[Function_Generator] +datype = V +enabled = False +id = 1 +implementation = none +name = pulser +optype = function_generator +[I1] +datype = I +enabled = False +id = 1 +implementation = none +name = curr1 +optype = multimeter +[I2] +datype = I +enabled = False +id = 2 +implementation = none +name = curr2 +optype = multimeter +[T1] +datype = T +enabled = False +id = 1 +implementation = none +name = tc1 +optype = temperature +[T2] +datype = T +enabled = False +id = 2 +implementation = none +name = tc2 +optype = temperature +[T3] +datype = T +enabled = False +id = 3 +implementation = none +name = tc3 +optype = temperature +[T4] +datype = T +enabled = False +id = 4 +implementation = none +name = tc4 +optype = temperature +[T5] +datype = T +enabled = False +id = 5 +implementation = none +name = tc5 +optype = temperature +[T6] +datype = T +enabled = False +id = 6 +implementation = none +name = tc6 +optype = temperature +[V1] +datype = V +enabled = False +id = 1 +implementation = none +name = volts1 +optype = multimeter +[V2] +datype = V +enabled = False +id = 2 +implementation = none +name = volts2 +optype = multimeter +[sample_stage] +enabled = Always +implementation = normal_sample_stage +name = sample_stage +optype = motion_axis +[12tmagnet_oxford] +desc = "12 Tesla Oxford Magnet" +driver = "oxford_labview" +imptype = magnetic_field ip = 10.157.205.3 -name = magnetic port = 55001 -type = B [12tmagnet_sample_insert] -desc = "REVIEW THIS -> som will be redefined as the sample insert rotation. Sample stage will be renamed to somss" -enabled = False -group = motors +desc = "som will be redefined as the magnet sample insert rotation. Sample stage will be renamed to somss" +imptype = motion_axis -[12tmagnet_setup] -cascade = 12tmagnet,12tmagnet_sample_insert,mercury_scpi -enabled = False -group = 0setup - -[ls336_1] -desc = "tc1: Lakeshore 336 temperature controller" -driver = "ls336" -enabled = False -group = environment:temperature -id = 1 -ip = 10.157.205.28 -name = tc1 -port = 7777 -terminator = \r\n -tol1 = 1.0 -tol2 = 1.0 -type = T - -[ls336_11] -desc = "tc11: Lakeshore 336 temperature controller" -driver = "ls336" -enabled = False -group = environment:temperature -id = 11 -ip = 10.157.205.27 -name = tc11 -port = 7777 -terminator = \r\n -tol1 = 1.0 -tol2 = 1.0 -type = T - -[ls336_12] -desc = "tc12: Lakeshore 336 temperature controller" -driver = "ls336" -enabled = False -group = environment:temperature -id = 12 -ip = 10.157.205.31 -name = tc12 -port = 7777 -terminator = \r\n -tol1 = 1.0 -tol2 = 1.0 -type = T - -[ls336_2] -desc = "tc2: Lakeshore 336 temperature controller" -driver = "ls336" -enabled = False -group = environment:temperature -id = 2 -ip = 10.157.205.29 -name = tc2 -port = 7777 -terminator = \r\n -tol1 = 1.0 -tol2 = 1.0 -type = T - -[ls336_4] -desc = "tc4: Lakeshore 336 temperature controller" -driver = "ls336" -enabled = False -group = environment:temperature -id = 4 -ip = 10.157.205.30 -name = tc4 -port = 7777 -terminator = \r\n -tol1 = 1.0 -tol2 = 1.0 -type = T - -[ls336_5] -desc = "tc5: Lakeshore 336 temperature controller" -driver = "ls336" -enabled = False -group = environment:temperature -id = 5 -ip = 137.157.201.21 -name = tc5 -port = 7777 -terminator = \r\n -tol1 = 1.0 -tol2 = 1.0 -type = T - -[ls336_6] -desc = "tc6: Lakeshore 336 temperature controller" -driver = "ls336" -enabled = False -group = environment:temperature -id = 6 -ip = 137.157.201.21 -name = tc6 -port = 7777 -terminator = \r\n -tol1 = 1.0 -tol2 = 1.0 -type = T - -[ls340_1] -desc = "tc13: Lakeshore 340 temperature controller" +[CF1_ls340] +desc = "cf1: Bottom loading cryofurnace" driver = "ls340" -enabled = False -group = environment:temperature -id = 13 -ip = ca5-echidna -name = tc13 +imptype = temperature +ip = 10.157.205.43 port = 4001 terminator = \r\n tol1 = 1.0 tol2 = 1.0 -type = T -[ls340_2] -desc = "tc14: Lakeshore 340 temperature controller" +[agilent_33220A] +asyncqueue = sct +desc = "Function Generator" +driver = agilent_33220A +imptype = function_generator +ip = 10.157.205.16 +port = 5025 + +[eularian_cradle] +desc = "Load the Eulerian cradle configuration" +imptype = motion_axis + +[ls336_01] +asyncqueue = sct +desc = "Lakeshore 336 temperature controller" +driver = "ls336" +imptype = temperature +ip = 10.157.205.28 +port = 7777 +terminator = \r\n +tol1 = 1.0 +tol2 = 1.0 + +[ls336_02] +asyncqueue = sct +desc = "Lakeshore 336 temperature controller" +driver = "ls336" +imptype = temperature +ip = 10.157.205.29 +port = 7777 +terminator = \r\n +tol1 = 1.0 +tol2 = 1.0 + +[ls336_04] +asyncqueue = sct +desc = "Lakeshore 336 temperature controller" +driver = "ls336" +imptype = temperature +ip = 10.157.205.30 +port = 7777 +terminator = \r\n +tol1 = 1.0 +tol2 = 1.0 + +[ls336_05] +asyncqueue = sct +desc = "Lakeshore 336 temperature controller" +driver = "ls336" +imptype = temperature +ip = 137.157.201.21 +port = 7777 +terminator = \r\n +tol1 = 1.0 +tol2 = 1.0 + +[ls336_06] +asyncqueue = sct +desc = "Lakeshore 336 temperature controller" +driver = "ls336" +imptype = temperature +ip = 137.157.201.21 +port = 7777 +terminator = \r\n +tol1 = 1.0 +tol2 = 1.0 + +[ls336_11] +desc = "Lakeshore 336 temperature controller" +driver = "ls336" +imptype = temperature +ip = 10.157.205.27 +port = 7777 +terminator = \r\n +tol1 = 1.0 +tol2 = 1.0 + +[ls336_12] +asyncqueue = sct +desc = "Lakeshore 336 temperature controller" +driver = "ls336" +imptype = temperature +ip = 10.157.205.31 +port = 7777 +terminator = \r\n +tol1 = 1.0 +tol2 = 1.0 + +[ls340_01] +asyncqueue = sct +desc = "Lakeshore 340 temperature controller" driver = "ls340" -enabled = False -group = environment:temperature -id = 14 -ip = ca5-echidna -name = tc14 +imptype = temperature +ip = 137.157.201.86 +port = 4001 +terminator = \r\n +tol1 = 1.0 +tol2 = 1.0 + +[ls340_02] +asyncqueue = sct +desc = "Lakeshore 340 temperature controller" +driver = "ls340" +imptype = temperature +ip = 137.157.201.86 port = 4002 terminator = \r\n tol1 = 1.0 tol2 = 1.0 -type = T -[mercury_scpi] -desc = "tc25: Oxford Mercury temperature controller in Mercury mode" +[ls340_11] +desc = "Lakeshore 340 temperature controller" +driver = "ls340" +imptype = temperature +ip = 137.157.201.86 +port = 4001 +terminator = \r\n +tol1 = 1.0 +tol2 = 1.0 + +[mercury_scpi_01] +desc = "Oxford Mercury temperature controller in Mercury mode" driver = "mercury_scpi" -enabled = False -group = environment:temperature -id = 25 +imptype = temperature ip = 10.157.205.5 -name = tc25 -offifon = mercury_itc500 +permlink = LT port = 7020 -terminator = \r -tol = 2.0 -type = T +terminator = \r\n +tol = 1.0 +valve_tol = 2 + +[mercury_scpi_02] +desc = "Oxford Mercury temperature controller in Mercury mode" +driver = "mercury_scpi" +imptype = temperature +ip = 10.157.205.47 +permlink = LT +port = 7020 +terminator = \r\n +tol = 1.0 +valve_tol = 2 + +[normal_sample_stage] +desc = "This is the default sample stage configuration with xy translation and phi and chi tilt stages" +imptype = motion_axis + +[protek_01] +asyncqueue = sct +desc = "Protek Multimeter" +driver = "protekmm" +imptype = multimeter +ip = 10.157.205.36 +port = 4001 + +[protek_02] +asyncqueue = sct +desc = "Protek Multimeter" +driver = "protekmm" +imptype = multimeter +ip = 10.157.205.37 +port = 4001 + +[small_omega] +desc = "Load the small omega configuration" +imptype = motion_axis [west4100] -desc = "tc26: Blue furnace temperature controller" +desc = "Blue furnace temperature controller" +dev_id = 1 driver = "west4100" -enabled = False -group = environment:temperature -id = 26 +imptype = temperature ip = 10.157.205.19 -name = tc26 -type = T