From 950037bfc3d9eac6d3516e78fca4bf038c66ada7 Mon Sep 17 00:00:00 2001 From: Ferdi Franceschini Date: Thu, 16 Aug 2007 16:37:45 +1000 Subject: [PATCH] Don't MakeAsyncQueue when using simulated driver. Add metedata to slit gap and offset motors for new hdb and nexus code. r2123 | ffr | 2007-08-16 16:37:45 +1000 (Thu, 16 Aug 2007) | 3 lines --- .../config/motors/motor_configuration.tcl | 55 +++++++++++++------ .../config/motors/motor_configuration.tcl | 55 +++++++++++++------ 2 files changed, 76 insertions(+), 34 deletions(-) diff --git a/site_ansto/instrument/hipd/config/motors/motor_configuration.tcl b/site_ansto/instrument/hipd/config/motors/motor_configuration.tcl index 835fa33a..99ad486c 100644 --- a/site_ansto/instrument/hipd/config/motors/motor_configuration.tcl +++ b/site_ansto/instrument/hipd/config/motors/motor_configuration.tcl @@ -1,17 +1,12 @@ -# $Revision: 1.15 $ -# $Date: 2007-05-15 03:15:00 $ +# $Revision: 1.16 $ +# $Date: 2007-08-16 06:36:59 $ # Author: Ferdi Franceschini (ffr@ansto.gov.au) -# Last revision by: $Author: dcl $ +# Last revision by: $Author: ffr $ # START MOTOR CONFIGURATION set animal wombat set sim_mode [SplitReply [motor_simulation]] -if {$sim_mode == "true"} { - set motor_driver_type asim -} else { - set motor_driver_type DMC2280 -} # Setup addresses of Galil DMC2280 controllers. set dmc2280_controller1(host) mc1-$animal @@ -26,10 +21,15 @@ set dmc2280_controller3(port) pmc3-$animal set dmc2280_controller4(host) mc4-$animal set dmc2280_controller4(port) pmc4-$animal -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) +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) +} #Measured absolute encoder reading at home position set mphi_Home 7613516 @@ -95,6 +95,10 @@ set ss2l_HiRange [expr $hSlitHome + $hSlitLoRange] set ss2u_HiRange [expr $vSlitHome + $vSlitHiRange] set ss2d_HiRange [expr $vSlitHome + $vSlitLoRange] +set slit1VGroup first/vertical +set slit1HGroup first/horizontal +set slit2VGroup second/vertical +set slit2HGroup second/horizontal # set movecount high to reduce the frequency of # hnotify messages to a reasonable level set move_count 10 @@ -614,6 +618,9 @@ publish mthGet user MakeConfigurableMotor mth mth readscript mthGet mth drivescript mthSet +sicslist setatt mth klass crystal +sicslist setatt mth units degrees +sicslist setatt mth long_name half_takeoff_angle proc sthGet {} { return [expr [SplitReply [stth]]/2.0]} proc sthSet {val} { return "stth=[SplitReply [stth]]"} @@ -622,6 +629,9 @@ publish sthSet user MakeConfigurableMotor sth sth readscript sthGet sth drivescript sthSet +sicslist setatt sth klass sample +sicslist setatt sth units degrees +sicslist setatt sth long_name half_azimuthal_angle proc get_gap_width {m1 m2} { return [expr [SplitReply [$m1]] - [SplitReply [$m2]]] @@ -652,7 +662,7 @@ proc set_gap_offset {m1 m2 val} { } # make_gap_motors virt_width_motor virt_offset_motor real_high_motor real_low_motor -proc make_gap_motors {vm1 vm2 m1 m2} { +proc make_gap_motors {vm1 vm1_name vm2 vm2_name m1 m2 aunits agroup} { eval "proc get_$vm1 {} { get_gap_width $m1 $m2 }" set v {$var} eval "proc set_$vm1 {var} { set_gap_width $m1 $m2 $v }" @@ -670,12 +680,23 @@ publish set_$vm1 user $vm2 drivescript set_$vm2 publish get_$vm2 user publish set_$vm2 user + +sicslist setatt $vm1 units $aunits +sicslist setatt $vm1 klass aperture +sicslist setatt $vm1 long_name $vm1_name +sicslist setatt $vm1 group $agroup +sicslist setatt $vm2 units $aunits +sicslist setatt $vm2 klass aperture +sicslist setatt $vm2 long_name $vm2_name +sicslist setatt $vm2 group $agroup } -make_gap_motors ss1vg ss1vo ss1u ss1d -make_gap_motors ss1hg ss1ho ss1r ss1l +make_gap_motors ss1vg gap ss1vo offset ss1u ss1d mm $slit1VGroup +make_gap_motors ss1hg gap ss1ho offset ss1r ss1l mm $slit1HGroup -make_gap_motors ss2vg ss2vo ss2u ss2d -make_gap_motors ss2hg ss2ho ss2r ss2l +make_gap_motors ss2vg gap ss2vo offset ss2u ss2d mm $slit2VGroup +make_gap_motors ss2hg gap ss2ho offset ss2r ss2l mm $slit2HGroup +proc motor_set_sobj_attributes {} { +} # END MOTOR CONFIGURATION diff --git a/site_ansto/instrument/hrpd/config/motors/motor_configuration.tcl b/site_ansto/instrument/hrpd/config/motors/motor_configuration.tcl index 18c15454..d389b363 100644 --- a/site_ansto/instrument/hrpd/config/motors/motor_configuration.tcl +++ b/site_ansto/instrument/hrpd/config/motors/motor_configuration.tcl @@ -1,17 +1,12 @@ -# $Revision: 1.18 $ -# $Date: 2007-07-26 02:22:57 $ +# $Revision: 1.19 $ +# $Date: 2007-08-16 06:37:45 $ # Author: Ferdi Franceschini (ffr@ansto.gov.au) -# Last revision by: $Author: dcl $ +# Last revision by: $Author: ffr $ # START MOTOR CONFIGURATION set animal echidna set sim_mode [SplitReply [motor_simulation]] -if {$sim_mode == "true"} { - set motor_driver_type asim -} else { - set motor_driver_type DMC2280 -} # Setup addresses of Galil DMC2280 controllers. set dmc2280_controller1(host) mc1-$animal @@ -26,10 +21,15 @@ set dmc2280_controller3(port) pmc3-$animal set dmc2280_controller4(host) mc4-$animal set dmc2280_controller4(port) pmc4-$animal -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) +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) +} #Measured absolute encoder reading at home position set mphi_Home 7413209 @@ -96,6 +96,10 @@ set ss2l_HiRange [expr $hSlitHome + $hSlitLoRange] set ss2u_HiRange [expr $vSlitHome + $vSlitHiRange] set ss2d_HiRange [expr $vSlitHome + $vSlitLoRange] +set slit1VGroup first/vertical +set slit1HGroup first/horizontal +set slit2VGroup second/vertical +set slit2HGroup second/horizontal # set movecount high to reduce the frequency of # hnotify messages to a reasonable level set move_count 10 @@ -639,6 +643,9 @@ publish mthGet user MakeConfigurableMotor mth mth readscript mthGet mth drivescript mthSet +sicslist setatt mth klass crystal +sicslist setatt mth units degrees +sicslist setatt mth long_name half_takeoff_angle proc sthGet {} { return [expr [SplitReply [stth]]/2.0]} proc sthSet {val} { return "stth=[SplitReply [stth]]"} @@ -647,6 +654,9 @@ publish sthSet user MakeConfigurableMotor sth sth readscript sthGet sth drivescript sthSet +sicslist setatt sth klass sample +sicslist setatt sth units degrees +sicslist setatt sth long_name half_azimuthal_angle proc get_gap_width {m1 m2} { return [expr [SplitReply [$m1]] - [SplitReply [$m2]]] @@ -677,7 +687,7 @@ proc set_gap_offset {m1 m2 val} { } # make_gap_motors virt_width_motor virt_offset_motor real_high_motor real_low_motor -proc make_gap_motors {vm1 vm2 m1 m2} { +proc make_gap_motors {vm1 vm1_name vm2 vm2_name m1 m2 aunits agroup} { eval "proc get_$vm1 {} { get_gap_width $m1 $m2 }" set v {$var} eval "proc set_$vm1 {var} { set_gap_width $m1 $m2 $v }" @@ -695,12 +705,23 @@ publish set_$vm1 user $vm2 drivescript set_$vm2 publish get_$vm2 user publish set_$vm2 user + +sicslist setatt $vm1 units $aunits +sicslist setatt $vm1 klass aperture +sicslist setatt $vm1 long_name $vm1_name +sicslist setatt $vm1 group $agroup +sicslist setatt $vm2 units $aunits +sicslist setatt $vm2 klass aperture +sicslist setatt $vm2 long_name $vm2_name +sicslist setatt $vm2 group $agroup } -make_gap_motors ss1vg ss1vo ss1u ss1d -make_gap_motors ss1hg ss1ho ss1r ss1l +make_gap_motors ss1vg gap ss1vo offset ss1u ss1d mm $slit1VGroup +make_gap_motors ss1hg gap ss1ho offset ss1r ss1l mm $slit1HGroup -make_gap_motors ss2vg ss2vo ss2u ss2d -make_gap_motors ss2hg ss2ho ss2r ss2l +make_gap_motors ss2vg gap ss2vo offset ss2u ss2d mm $slit2VGroup +make_gap_motors ss2hg gap ss2ho offset ss2r ss2l mm $slit2HGroup +proc motor_set_sobj_attributes {} { +} # END MOTOR CONFIGURATION