# $Revision: 1.4 $ # $Date: 2006-12-12 22:30:13 $ # Author: Ferdi Franceschini (ffr@ansto.gov.au) # Last revision by: $Author: dcl $ # START MOTOR CONFIGURATION # Setup addresses of Galil DMC2280 controllers. set dmc2280_controller1(host) mc1-kowari set dmc2280_controller1(port) pmc1-kowari set dmc2280_controller2(host) mc2-kowari set dmc2280_controller2(port) pmc2-kowari set dmc2280_controller3(host) mc3-kowari set dmc2280_controller3(port) pmc3-kowari set dmc2280_controller4(host) mc4-kowari set dmc2280_controller4(port) pmc4-kowari # Run slit homing routines on controllers 3 and 4 #if [catch {dmc_connect dmc2280_controller3} ] { # dmc_sendCmd dmc2280_controller3 "XQ#HOME,1" # dmc_close dmc2280_controller3 #} #if [catch {dmc_connect dmc2280_controller4} ] { # dmc_sendCmd dmc2280_controller4 "XQ#HOME,1" # dmc_close dmc2280_controller4 #} ############################ # Motor Controller 1 # Motor Controller 1 # Motor Controller 1 ############################ #:TP at HOME # # Monochromator phi, Tilt 1, upper Motor mphi DMC2280 [params \ host $dmc2280_controller1(host)\ port $dmc2280_controller1(port)\ axis A\ units degrees\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -25000\ absEnc 1\ absEncHome 7414753\ cntsPerX -8192] setHomeandRange -motor mphi -home 0 -lowrange 15 -uprange 15 mphi speed 1 mphi precision 0.01 # Monochromator chi, Tilt 2, lower Motor mchi DMC2280 [params \ host $dmc2280_controller1(host)\ port $dmc2280_controller1(port)\ axis B\ units degrees\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX 25000\ absEnc 1\ absEncHome 7818915\ cntsPerX 8192] setHomeandRange -motor mchi -home 90 -lowrange 15 -uprange 15 mchi speed 1 mchi precision 0.01 # Monochromator Trans 1, upper Motor my DMC2280 [params \ host $dmc2280_controller1(host)\ port $dmc2280_controller1(port)\ axis C\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX 25000\ absEnc 1\ absEncHome 7781680\ cntsPerX 8192] setHomeandRange -motor my -home 0 -lowrange 20 -uprange 20 my speed 1 my precision 0.01 # Monochromator Trans 2, lower Motor mx DMC2280 [params \ host $dmc2280_controller1(host)\ port $dmc2280_controller1(port)\ axis D\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -25000\ absEnc 1\ absEncHome 7562793\ cntsPerX -8192] setHomeandRange -motor mx -home 0 -lowrange 20 -uprange 20 mx speed 1 mx precision 0.01 # Monochromator omega, rotate Motor mom DMC2280 [params \ host $dmc2280_controller1(host)\ port $dmc2280_controller1(port)\ axis E\ units degrees\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -12500\ absEnc 1\ absEncHome 17694127\ cntsPerX -4096] setHomeandRange -motor mom -home 0 -lowrange 180 -uprange 180 mom speed 1 mom precision 0.01 # Monochromator two-theta, flight-tube rotate Motor mtth DMC2280 [params \ host $dmc2280_controller1(host)\ port $dmc2280_controller1(port)\ axis F\ units degrees\ maxSpeed 0.5\ maxAccel 0.2\ maxDecel 0.2\ stepsPerX 25000\ absEnc 1\ absEncHome 10299428\ cntsPerX 93207] setHomeandRange -motor mtth -home 120 -lowrange 35 -uprange 35 mtth speed 0.5 mtth accel 0.01 mtth decel 0.01 mtth precision 0.02 ############################ # Motor Controller 2 # Motor Controller 2 # Motor Controller 2 ############################ #:TP at HOME # # Sample Trans, vertical, first stage Motor sz1 DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ axis A\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX 25000] setHomeandRange -motor sz1 -home 0 -lowrange 0 -uprange 350 sz1 speed 1 sz1 precision 0.01 # Sample Trans, vertical, second stage Motor sz2 DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ axis B\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX 25000] setHomeandRange -motor sz2 -home 0 -lowrange 0 -uprange 350 sz2 speed 1 sz2 precision 0.01 # Sample Trans 1, upper, y Motor sy DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ axis C\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX 5000\ absEnc 1\ absEncHome 7626584\ cntsPerX 1638.4] setHomeandRange -motor sy -home 0 -lowrange 250 -uprange 250 sy speed 1 sy precision 0.01 # Sample Trans2, lower, x Motor sx DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ axis D\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX 5000\ absEnc 1\ absEncHome 24029910\ cntsPerX 1638.4] setHomeandRange -motor sx -home 0 -lowrange 250 -uprange 250 sx speed 1 sx precision 0.01 # Sample Omega, rotate Motor som DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ axis E\ units degrees\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX 12500\ absEnc 1\ absEncHome 24984596\ cntsPerX 4096] setHomeandRange -motor som -home 0 -lowrange 100 -uprange 100 som speed 1 som precision 0.01 # Sample two-theta, detector rotate Motor stth DMC2280 [params \ host $dmc2280_controller2(host)\ port $dmc2280_controller2(port)\ axis F\ units degrees\ maxSpeed 0.5\ maxAccel 0.2\ maxDecel 0.2\ stepsPerX 125000\ absEnc 1\ absEncHome 14530407\ cntsPerX -93207] setHomeandRange -motor stth -home 0 -lowrange 100 -uprange 100 stth speed 0.5 stth precision 0.01 ############################ # Motor Controller 3 # Motor Controller 3 # Motor Controller 3 ############################ # # Monochromator Focusing (HOPG) Motor mf1 DMC2280 [params \ host $dmc2280_controller3(host)\ port $dmc2280_controller3(port)\ axis A\ units degrees\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX 25000] setHomeandRange -motor mf1 -home 0 -lowrange 0 -uprange 360 mf1 speed 1 mf1 precision 0.01 # Monochromator Focusing (Ge) Motor mf2 DMC2280 [params \ host $dmc2280_controller3(host)\ port $dmc2280_controller3(port)\ axis B\ units degrees\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX 25000] setHomeandRange -motor mf2 -home 0 -lowrange 0 -uprange 360 mf2 speed 1 mf2 precision 0.01 ## Eulerian-chi #Motor echi DMC2280 [params \ # host $dmc2280_controller3(host)\ # port $dmc2280_controller3(port)\ # axis G\ # units degrees\ # maxSpeed 1\ # maxAccel 1\ # maxDecel 1\ # stepsPerX 25000] #setHomeandRange -motor echi -home 0 -lowrange 0 -uprange 360 #echi speed 1 #echi precision 0.01 ## Eulerian-phi #Motor ephi DMC2280 [params \ # host $dmc2280_controller3(host)\ # port $dmc2280_controller3(port)\ # axis H\ # units degrees\ # maxSpeed 1\ # maxAccel 1\ # maxDecel 1\ # stepsPerX 25000] #setHomeandRange -motor ephi -home 0 -lowrange 0 -uprange 360 #ephi speed 1 #ephi precision 0.01 ############################ # Motor Controller 4 # Motor Controller 4 # Motor Controller 4 ############################ # # Primary Slit, horizontal offset, 0-30mm Motor psho DMC2280 [params \ host $dmc2280_controller4(host)\ port $dmc2280_controller4(port)\ axis A\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -20125\ motorHome 542093] setHomeandRange -motor psho -home 0 -lowrange 0 -uprange 30 # Primary Slit, position 0-150mm Motor psp DMC2280 [params \ host $dmc2280_controller4(host)\ port $dmc2280_controller4(port)\ axis B\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -20125\ motorHome 2040518] setHomeandRange -motor psp -home 0 -lowrange 0 -uprange 150 # Primary Slit, width, 0-30mm Motor psw DMC2280 [params \ host $dmc2280_controller4(host)\ port $dmc2280_controller4(port)\ axis C\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -20125\ motorHome 2040518] setHomeandRange -motor psw -home 0 -lowrange 0 -uprange 30 ## Primary Slit, height, 0-30mm #Motor psh DMC2280 [params \ # host $dmc2280_controller4(host)\ # port $dmc2280_controller4(port)\ # axis D\ # units mm\ # maxSpeed 1\ # maxAccel 1\ # maxDecel 1\ # stepsPerX -20125\ # motorHome 542093] #setHomeandRange -motor psh -home 0 -lowrange 0 -uprange 30 #-------------------------------------------------------- # Secondary Slit, horizontal offset Motor ssho DMC2280 [params \ host $dmc2280_controller4(host)\ port $dmc2280_controller4(port)\ axis E\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -20125\ motorHome 500000] setHomeandRange -motor ssho -home 0 -lowrange 0 -uprange 30 # Secondary Slit, position Motor ssp DMC2280 [params \ host $dmc2280_controller4(host)\ port $dmc2280_controller4(port)\ axis F\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -20125\ motorHome 2043085] setHomeandRange -motor ssp -home 0 -lowrange 0 -uprange 150 # Secondary Slit, width Motor ssw DMC2280 [params \ host $dmc2280_controller4(host)\ port $dmc2280_controller4(port)\ axis G\ units mm\ maxSpeed 1\ maxAccel 1\ maxDecel 1\ stepsPerX -20125\ motorHome 2043085] setHomeandRange -motor ssw -home 0 -lowrange 0 -uprange 30 ## Secondary Slit, height #Motor ssh DMC2280 [params \ # host $dmc2280_controller4(host)\ # port $dmc2280_controller4(port)\ # axis H\ # units mm\ # maxSpeed 1\ # maxAccel 1\ # maxDecel 1\ # stepsPerX -20125\ # motorHome 500000] #setHomeandRange -motor ssh -home 0 -lowrange 0 -uprange 30 #-------------------------------------------------------- proc mthGet {} { return [expr [SplitReply [mtth]]/2.0]} proc mthSet {val} { return "mtth=[SplitReply [mtth]]"} publish mthSet user publish mthGet user MakeConfigurableMotor mth mth readscript mthGet mth drivescript mthSet proc sthGet {} { return [expr [SplitReply [stth]]/2.0]} proc sthSet {val} { return "stth=[SplitReply [stth]]"} publish sthGet user publish sthSet user MakeConfigurableMotor sth sth readscript sthGet sth drivescript sthSet #-------------------------------------------------------- # END MOTOR CONFIGURATION