From 27d849ea23bdfa9b26a8cd4af4deb70b6d7d11e8 Mon Sep 17 00:00:00 2001 From: Douglas Clowes Date: Tue, 15 May 2007 12:47:58 +1000 Subject: [PATCH] multichan becomes AsyncQueue and AsyncProtocol r1963 | dcl | 2007-05-15 12:47:58 +1000 (Tue, 15 May 2007) | 2 lines --- .../config/motors/motor_configuration.tcl | 161 ++++++------------ 1 file changed, 52 insertions(+), 109 deletions(-) diff --git a/site_ansto/instrument/reflectometer/config/motors/motor_configuration.tcl b/site_ansto/instrument/reflectometer/config/motors/motor_configuration.tcl index 88e0e96a..0d2b5c55 100644 --- a/site_ansto/instrument/reflectometer/config/motors/motor_configuration.tcl +++ b/site_ansto/instrument/reflectometer/config/motors/motor_configuration.tcl @@ -1,7 +1,7 @@ -# $Revision: 1.13 $ -# $Date: 2007-05-10 06:12:25 $ +# $Revision: 1.14 $ +# $Date: 2007-05-15 02:47:58 $ # Author: Ferdi Franceschini (ffr@ansto.gov.au) -# Last revision by: $Author: ffr $ +# Last revision by: $Author: dcl $ # START MOTOR CONFIGURATION @@ -14,22 +14,22 @@ if {$sim_mode == "true"} { } # Setup addresses of Galil DMC2280 controllers. -set dmc2280_controller1(host) mc1-$animal -set dmc2280_controller1(port) pmc1-$animal +set controller1(host) mc1-$animal +set controller1(port) pmc1-$animal -set dmc2280_controller2(host) mc2-$animal -set dmc2280_controller2(port) pmc2-$animal +set controller2(host) mc2-$animal +set controller2(port) pmc2-$animal -set dmc2280_controller3(host) mc3-$animal -set dmc2280_controller3(port) pmc3-$animal +set controller3(host) mc3-$animal +set controller3(port) pmc3-$animal -set dmc2280_controller4(host) mc4-$animal -set dmc2280_controller4(port) pmc4-$animal +set controller4(host) mc4-$animal +set controller4(port) pmc4-$animal -MakeMultiChan mc1 $dmc2280_controller1(host) $dmc2280_controller1(port) -MakeMultiChan mc2 $dmc2280_controller2(host) $dmc2280_controller2(port) -MakeMultiChan mc3 $dmc2280_controller3(host) $dmc2280_controller3(port) -MakeMultiChan mc4 $dmc2280_controller4(host) $dmc2280_controller4(port) +MakeAsyncQueue mc1 DMC2280 $controller1(host) $controller1(port) +MakeAsyncQueue mc2 DMC2280 $controller2(host) $controller2(port) +MakeAsyncQueue mc3 DMC2280 $controller3(host) $controller3(port) +MakeAsyncQueue mc4 DMC2280 $controller4(host) $controller4(port) #Measured absolute encoder reading at home position @@ -50,7 +50,9 @@ set dz_home 7805000 #Measured or computed step rate for sz (Sample Raise) #set szStepRate -116500 set szStepRate -125000 -set szCountRate [expr -(8192.0/5.0/0.932)] +#set szCountRate [expr -(8192.0/5.0/0.932)] +# 8192 count encoder, 5mm/Turn screw, 14:15 gearing? +set szCountRate [expr -(8192.0/5.0/(14.0/15.0))] #Measured or computed slit motor steps per millimetre # 2mm per turn pitch, @@ -151,9 +153,7 @@ set move_count 100 # Beam Shade Vertical Translation (6mm/T double helix, 500mm) Motor bz $motor_driver_type [params \ - multichan mc1\ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ + asyncqueue mc1\ axis A\ units mm\ hardlowerlim 0\ @@ -173,9 +173,7 @@ bz home 0 # Collimator Table Horizontal Translation, X Motor c1ht $motor_driver_type [params \ - multichan mc1\ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ + asyncqueue mc1\ axis B\ units mm\ hardlowerlim 0\ @@ -195,9 +193,7 @@ c1ht home 0 # Collimator Tilt, Z axis, positive is down Motor m1ro $motor_driver_type [params \ - multichan mc1\ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ + asyncqueue mc1\ axis C\ units degrees\ hardlowerlim -3.5\ @@ -217,9 +213,7 @@ m1ro home 0 # Beam Attenuator (16mm/turn, 200mm travel) Motor bat $motor_driver_type [params \ - multichan mc1\ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ + asyncqueue mc1\ axis D\ units mm\ hardlowerlim 0\ @@ -239,9 +233,7 @@ bat home 0 # Slit 3 Tower Translation (1mm/T, +/- 100mm) Motor st3vt $motor_driver_type [params \ - multichan mc1\ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ + asyncqueue mc1\ axis E\ units mm\ hardlowerlim 0\ @@ -261,9 +253,7 @@ st3vt home 0 # Slit 4 Tower Translation (1mm/T, +/- 100mm) Motor st4vt $motor_driver_type [params \ - multichan mc1\ - host $dmc2280_controller1(host)\ - port $dmc2280_controller1(port)\ + asyncqueue mc1\ axis F\ units mm\ hardlowerlim 0\ @@ -291,9 +281,7 @@ st4vt home 0 # Sample Tilt 1, upper (1 degree/turn) Motor sth $motor_driver_type [params \ - multichan mc2\ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ + asyncqueue mc2\ axis A\ units degrees\ hardlowerlim -15\ @@ -302,6 +290,7 @@ Motor sth $motor_driver_type [params \ maxAccel 1\ maxDecel 1\ stepsPerX 25000\ + backlash_offset -0.25\ absEnc 1\ absEncHome $sth_home\ cntsPerX 8192] @@ -313,9 +302,7 @@ sth precision 0.01 # Sample Tilt 2, lower (1 degree/turn) Motor sphi $motor_driver_type [params \ - multichan mc2\ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ + asyncqueue mc2\ axis B\ units degrees\ hardlowerlim -5\ @@ -335,9 +322,7 @@ sphi precision 0.01 # Sample Translation, Linear X (5mm/T, 0-750mm) Motor sx $motor_driver_type [params \ - multichan mc2\ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ + asyncqueue mc2\ axis C\ units mm\ hardlowerlim 0\ @@ -357,9 +342,7 @@ sx home 0 # Sample Translation, Linear Y #Motor sy $motor_driver_type [params \ -# multichan mc2\ -# host $dmc2280_controller2(host)\ -# port $dmc2280_controller2(port)\ +# asyncqueue mc2\ # axis D\ # units mm\ # hardlowerlim -600\ @@ -379,9 +362,7 @@ sx home 0 # Sample Translation, Linear Z (??/T, 300mm) Motor sz $motor_driver_type [params \ - multichan mc2\ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ + asyncqueue mc2\ axis E\ units mm\ hardlowerlim 0\ @@ -390,6 +371,8 @@ Motor sz $motor_driver_type [params \ maxAccel 1\ maxDecel 1\ stepsPerX $szStepRate\ + backlash_offset -1\ + creep_offset 0.01\ absEnc 1\ absEncHome $sz_home\ cntsPerX $szCountRate] @@ -403,9 +386,7 @@ sth precision 0.001 # Detector Translation, Linear Y (Not Motorized) #Motor dy $motor_driver_type [params \ -# multichan mc2\ -# host $dmc2280_controller2(host)\ -# port $dmc2280_controller2(port)\ +# asyncqueue mc2\ # axis F\ # units mm\ # hardlowerlim -595\ @@ -423,9 +404,7 @@ sth precision 0.001 # Detector Translation, Linear Z (5mm/T gearing unknown) Motor dz $motor_driver_type [params \ - multichan mc2\ - host $dmc2280_controller2(host)\ - port $dmc2280_controller2(port)\ + asyncqueue mc2\ axis G\ units mm\ hardlowerlim 0\ @@ -452,9 +431,7 @@ dz home 0 # Slit 1, left Motor ss1l $motor_driver_type [params \ - multichan mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ + asyncqueue mc3\ axis A\ units mm\ hardlowerlim $ss1l_LoRange\ @@ -472,9 +449,7 @@ ss1l home 0 # Slit 1, right Motor ss1r $motor_driver_type [params \ - multichan mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ + asyncqueue mc3\ axis B\ units mm\ hardlowerlim $ss1r_LoRange\ @@ -492,9 +467,7 @@ ss1r home 0 # Slit 1, upper Motor ss1u $motor_driver_type [params \ - multichan mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ + asyncqueue mc3\ axis C\ units mm\ hardlowerlim $ss1u_LoRange\ @@ -512,9 +485,7 @@ ss1u home 0 # Slit 1, lower Motor ss1d $motor_driver_type [params \ - multichan mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ + asyncqueue mc3\ axis D\ units mm\ hardlowerlim $ss1d_LoRange\ @@ -532,9 +503,7 @@ ss1d home 0 # Slit 2, left Motor ss2l $motor_driver_type [params \ - multichan mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ + asyncqueue mc3\ axis E\ units mm\ hardlowerlim $ss2l_LoRange\ @@ -552,9 +521,7 @@ ss2l home 0 # Slit 2, right Motor ss2r $motor_driver_type [params \ - multichan mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ + asyncqueue mc3\ axis F\ units mm\ hardlowerlim $ss2r_LoRange\ @@ -572,9 +539,7 @@ ss2r home 0 # Slit 2, upper Motor ss2u $motor_driver_type [params \ - multichan mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ + asyncqueue mc3\ axis G\ units mm\ hardlowerlim $ss2u_LoRange\ @@ -592,9 +557,7 @@ ss2u home 0 # Slit 2, lower Motor ss2d $motor_driver_type [params \ - multichan mc3\ - host $dmc2280_controller3(host)\ - port $dmc2280_controller3(port)\ + asyncqueue mc3\ axis H\ units mm\ hardlowerlim $ss2d_LoRange\ @@ -619,9 +582,7 @@ ss2d home 0 # Slit 3, lower Motor ss3d $motor_driver_type [params \ - multichan mc4\ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ + asyncqueue mc4\ axis A\ units mm\ hardlowerlim $ss3d_LoRange\ @@ -639,9 +600,7 @@ ss3d home 0 # Slit 3, upper Motor ss3u $motor_driver_type [params \ - multichan mc4\ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ + asyncqueue mc4\ axis B\ units mm\ hardlowerlim $ss3u_LoRange\ @@ -659,9 +618,7 @@ ss3u home 0 # Slit 3, Left Motor ss3l $motor_driver_type [params \ - multichan mc4\ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ + asyncqueue mc4\ axis C\ units mm\ hardlowerlim $ss3l_LoRange\ @@ -679,9 +636,7 @@ ss3l home 0 # Slit 3, right Motor ss3r $motor_driver_type [params \ - multichan mc4\ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ + asyncqueue mc4\ axis D\ units mm\ hardlowerlim $ss3r_LoRange\ @@ -699,9 +654,7 @@ ss3r home 0 # Slit 4, lower Motor ss4d $motor_driver_type [params \ - multichan mc4\ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ + asyncqueue mc4\ axis E\ units mm\ hardlowerlim $ss4d_LoRange\ @@ -719,9 +672,7 @@ ss4d home 0 # Slit 4, upper Motor ss4u $motor_driver_type [params \ - multichan mc4\ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ + asyncqueue mc4\ axis F\ units mm\ hardlowerlim $ss4u_LoRange\ @@ -739,9 +690,7 @@ ss4u home 0 # Slit 4, left Motor ss4l $motor_driver_type [params \ - multichan mc4\ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ + asyncqueue mc4\ axis G\ units mm\ hardlowerlim $ss4l_LoRange\ @@ -759,9 +708,7 @@ ss4l home 0 # Slit 4, right Motor ss4r $motor_driver_type [params \ - multichan mc4\ - host $dmc2280_controller4(host)\ - port $dmc2280_controller4(port)\ + asyncqueue mc4\ axis H\ units mm\ hardlowerlim $ss4r_LoRange\ @@ -779,9 +726,7 @@ ss4r home 0 ## Polarization Analyzer Vertical Translation, Z #Motor anzvt $motor_driver_type [params \ -# multichan mc2\ -# host $dmc2280_controller2(host)\ -# port $dmc2280_controller2(port)\ +# asyncqueue mc2\ # axis xxxx\ # units mm\ # maxSpeed 1\ @@ -801,9 +746,7 @@ ss4r home 0 ## Polarization Analyzer Rotation #Motor anro $motor_driver_type [params \ -# multichan mc2\ -# host $dmc2280_controller2(host)\ -# port $dmc2280_controller2(port)\ +# asyncqueue mc2\ # axis xxxx\ # units mm\ # hardlowerlim -10\