diff --git a/site_ansto/instrument/tas/config/motors/motor_configuration.tcl b/site_ansto/instrument/tas/config/motors/motor_configuration.tcl index b37eaad2..a63341d2 100644 --- a/site_ansto/instrument/tas/config/motors/motor_configuration.tcl +++ b/site_ansto/instrument/tas/config/motors/motor_configuration.tcl @@ -4,9 +4,6 @@ # FastShutter is currently set on Quokka only #::utility::mkVar FastShutter text manager FastShutter false instrument true false -# SET TO 1 TO USE THE TILT STAGE ie sample phi and chi -set use_tiltstage 0 - set animal taipan set sim_mode [SplitReply [motor_simulation]] @@ -93,6 +90,40 @@ set move_count 100 ############################ # +# CHOOSE HERE for sample stage configuration +########################################## +# Set axis_config as follows to use different axis configurations +# 0: normal stage configuration +# 1: 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 == "12tmagnet_sample_insert"} { + set axis_config 1 + } else { + set axis_config 0 + } + } +} + +switch $axis_config { + 0 { + set use_normal_config "true" + } + 1 { + set magmot "ms1" + set magmot_aq "mc2" + set magmot_axis "A" + set use_normal_config "false" + fileeval $cfPath(motors)/magnet_configuration.tcl + } +} + + # Dummy translation motor, useful for testing scans Motor dummy_motor asim [params \ @@ -138,36 +169,6 @@ dummy_s1 softupperlim 180 dummy_s1 precision 0.02 dummy_s1 home 0 -if { [ info exists ::config_dict ] && [ dict get $::config_dict s1_sample_insert enabled ] } { - set samp_stage_name "s1ss" - set tilt_motor_driver_type asim - - Motor s1 $motor_driver_type [params \ - asyncqueue mc2\ - host mc2-taipan\ - port pmc2-taipan\ - axis A\ - units degrees\ - hardlowerlim -1440\ - hardupperlim 1440\ - maxSpeed 1\ - maxAccel 1\ - maxDecel 1\ - stepsPerX [expr 67.0 * 25000 / 360]\ - absEnc 1\ - absEncHome 31275743\ - cntsPerX [expr 67.0 * 8192 / 360]] - s1 part sample - s1 long_name s1 - s1 softlowerlim -180 - s1 softupperlim 180 - s1 home 0 -} else { - set samp_stage_name "s1" - set tilt_motor_driver_type $motor_driver_type -} - -#if $use_tiltstage { # mc1: Monochromator crystal selection rotation/Tilt Motor mtilt $motor_driver_type [params \ asyncqueue mc1\ @@ -189,9 +190,7 @@ mtilt long_name mtilt mtilt softlowerlim -5 mtilt softupperlim 5 mtilt home 0 -#} -set atest mtilt # mc1: Monochromator Linear (Translate) Motor mtrans $motor_driver_type [params \ @@ -384,27 +383,29 @@ stl home 0.0 stl backlash_offset -0.2 # mc2: Sample Rotate -Motor $samp_stage_name $motor_driver_type [params \ - asyncqueue mc2\ - host mc2-taipan\ - port pmc2-taipan\ - axis E\ - units degrees\ - hardlowerlim -194\ - hardupperlim 134\ - maxSpeed 4\ - maxAccel 2\ - maxDecel 2\ - stepsPerX 12495\ - absEnc 1\ - absEncHome 10695068\ - cntsPerX 4096] -$samp_stage_name part sample -$samp_stage_name long_name $samp_stage_name -$samp_stage_name softlowerlim -170 -$samp_stage_name softupperlim 120 -$samp_stage_name home 35.997 -$samp_stage_name backlash_offset -0.2 +if {$use_normal_config == "true"} { + Motor s1 $motor_driver_type [params \ + asyncqueue mc2\ + host mc2-taipan\ + port pmc2-taipan\ + axis E\ + units degrees\ + hardlowerlim -194\ + hardupperlim 134\ + maxSpeed 4\ + maxAccel 2\ + maxDecel 2\ + stepsPerX 12495\ + absEnc 1\ + absEncHome 10695068\ + cntsPerX 4096] + s1 part sample + s1 long_name s1 + s1 softlowerlim -170 + s1 softupperlim 120 + s1 home 35.997 + s1 backlash_offset -0.2 +} # mc2: Analyser Detector Rotate -- Sample Scattering Angle # absEncHome 20728908\ at -50 diff --git a/site_ansto/instrument/tas/util/sics_config.ini b/site_ansto/instrument/tas/util/sics_config.ini index a6d20e29..2051ff37 100644 --- a/site_ansto/instrument/tas/util/sics_config.ini +++ b/site_ansto/instrument/tas/util/sics_config.ini @@ -1,156 +1,304 @@ -[12tmagnet] -desc = "12 Tesla Oxford Magnet" -driver = "12tmagnet" -enabled = False -group = environment:magnet -id = 11 -ip = 10.157.205.3 -name = magnetic -port = 55001 -type = B - [12tmagnet_setup] -cascade = 12tmagnet,s1_sample_insert,mercury_scpi +cascade = B1:12tmagnet_oxford,sample_stage:12tmagnet_sample_insert,T1:mercury_scpi_01 enabled = False -group = 0setup - -[ls336_1] -desc = "tc1: Lakeshore 336 temperature controller" -driver = "ls336" +[CF1] +cascade = T1:CF1_ls340,sample_stage:normal_sample_stage +enabled = False +[Default] +cascade = sample_stage:normal_sample_stage +enabled = True +[B1] +datype = B 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_12] -desc = "tc6: Lakeshore 336 temperature controller" -driver = "ls336" +implementation = none +name = magnet1 +optype = magnetic_field +[Function_Generator] +datype = V enabled = False -group = environment:temperature -id = 6 -ip = 10.157.205.31 -name = tc6 -port = 7777 -terminator = \r\n -tol1 = 1.0 -tol2 = 1.0 -type = T - -[ls336_2] -desc = "tc2: Lakeshore 336 temperature controller" -driver = "ls336" +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 -group = environment:temperature id = 2 -ip = 10.157.205.29 +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 -port = 7777 -terminator = \r\n -tol1 = 1.0 -tol2 = 1.0 -type = T - -[ls336_4] -desc = "tc3: Lakeshore 336 temperature controller" -driver = "ls336" +optype = temperature +[T3] +datype = T enabled = False -group = environment:temperature id = 3 -ip = 10.157.205.30 +implementation = none name = tc3 -port = 7777 -terminator = \r\n -tol1 = 1.0 -tol2 = 1.0 -type = T - -[ls336_5] -desc = "tc4: Lakeshore 336 temperature controller" -driver = "ls336" +optype = temperature +[T4] +datype = T enabled = False -group = environment:temperature id = 4 -ip = 137.157.201.21 +implementation = none name = tc4 -port = 7777 -terminator = \r\n -tol1 = 1.0 -tol2 = 1.0 -type = T - -[ls336_6] -desc = "tc5: Lakeshore 336 temperature controller" -driver = "ls336" +optype = temperature +[V1] +datype = V 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 +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] +asyncqueue = sct +desc = "12 Tesla Oxford Magnet" +driver = "oxford12tlv" +imptype = magnetic_field +interval = 5 +ip = 10.157.205.3 +port = 55001 -[ls340_1] -desc = "tc13: Lakeshore 340 temperature controller" +[12tmagnet_sample_insert] +desc = "s1 will be redefined as the magnet sample insert rotation." +imptype = motion_axis + +[CF1_ls340] +desc = "cf1: Bottom loading cryofurnace" driver = "ls340" -enabled = False -group = environment:temperature -id = 13 -ip = 137.157.203.137 -name = tc13 +imptype = temperature +ip = 10.157.205.43 port = 4001 terminator = \r\n tol1 = 1.0 tol2 = 1.0 -type = T -[ls370] -desc = "tc8: Lakeshore 370 temperature controller" -driver = "ls370" -enabled = False -group = environment:temperature -id = 8 -ip = 137.157.203.137 -name = tc8 -port = 4003 +[agilent_33220A] +asyncqueue = sct +desc = "Function Generator" +driver = agilent_33220A +imptype = function_generator +ip = 10.157.205.16 +name = pulser +port = 5025 + +[ls336_01] +asyncqueue = sct +desc = "Lakeshore 336 temperature controller" +driver = "ls336" +imptype = temperature +ip = 10.157.205.28 +port = 7777 terminator = \r\n -tol = 2.0 -type = T +tol1 = 1.0 +tol2 = 1.0 -[mercury_scpi] -desc = "tc9: Oxford Mercury temperature controller in Mercury mode" -driver = "mercury_scpi" -enabled = False -group = environment:temperature -id = 9 +[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 = 10.157.205.30 +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" +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 + +[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 with three temperature loops." +driver = "mercury_base" +imptype = temperature ip = 10.157.205.5 -name = tc9 -offifon = mercury_itc500 +permlink = LT port = 7020 -terminator = \r -tol = 2.0 -type = T +terminator = \r\n +tol = 1.0 +valve_tol = 2 -[s1_sample_insert] -desc = "s1 will be defined as the sample insert rotation. Sample stage will be renamed to s1ss and sgu and sgl will be simulated" -enabled = False -group = motors +[mercury_scpi_02] +desc = "Oxford Mercury temperature controller with four temperature loops and needle valve control" +driver = "mercury_scpi" +imptype = temperature +ip = 10.157.205.47 +permlink = LT +port = 7020 +terminator = \r\n +tol = 1.0 +valve_tol = 2 -[west4100] -desc = "tc10: Blue furnace temperature controller" +[normal_sample_stage] +desc = "This is the default sample stage configuration" +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 + +[vf1_west4100] +asyncqueue = sct +desc = "VF1 Blue furnace temperature controller" +dev_id = 1 driver = "west4100" -enabled = False -group = environment:temperature -id = 10 -ip = 10.157.205.19 -name = tc10 -type = T +imptype = temperature +ip = 10.157.205.24 +port = 502 + +[vf1_west6100] +asyncprotocol = modbus_ap +desc = "VF1 Blue furnace 6100 temperature controller" +dev_id = 1 +driver = "west_6100" +imptype = temperature +ip = 10.157.205.24 +port = 502 +timeout = 2000 + +[vf2_west4100] +asyncqueue = sct +desc = "VF2 Blue furnace temperature controller" +dev_id = 1 +driver = "west4100" +imptype = temperature +ip = 10.157.205.25 +port = 502 + +[vf2_west6100] +asyncprotocol = modbus_ap +desc = "VF2 Blue furnace 6100 temperature controller" +dev_id = 1 +driver = "west_6100" +imptype = temperature +ip = 10.157.205.25 +port = 502 +timeout = 2000