r3595 | jgn | 2012-06-06 11:30:16 +1000 (Wed, 06 Jun 2012) | 1 line

This commit is contained in:
Jing Chen
2012-06-06 11:30:16 +10:00
committed by Douglas Clowes
parent dbef490724
commit 06ab0664eb
19 changed files with 0 additions and 1106 deletions

View File

@@ -1 +0,0 @@
Programs for the DMC2280 controllers.

View File

@@ -1,5 +0,0 @@
dingo_configuration.tcl
sics_ports.tcl
script_validator_ports.tcl
config
util

View File

@@ -1,5 +0,0 @@
all:
make -C config
clean:
make -C config clean

View File

@@ -1,18 +0,0 @@
config/source/source_common.tcl
config/anticollider/anticollider_common.tcl
config/plc/plc_common_1.tcl
config/counter/counter_common_1.tcl
config/hipadaba/hipadaba_configuration_common.tcl
config/hipadaba/common_instrument_dictionary.tcl
config/hipadaba/instdict_specification.tcl
config/hmm/hmm_configuration_common_1.tcl
config/hmm/hmm_cylindrical_detector_configuration.tcl
config/hmm/hmm_object.tcl
config/hmm/anstohm_linked.xml
config/hmm/sct_orhvps_common.tcl
config/scan/scan_common_1.hdd
config/scan/scan_common_1.tcl
config/nexus/nxscripts_common_1.tcl
config/commands/commands_common.tcl
config/motors/sct_positmotor_common.tcl
config/motors/sct_jogmotor_common.tcl

View File

@@ -1,4 +0,0 @@
all:
clean:

View File

@@ -1,12 +0,0 @@
# Author : Jing Chen (jgn@ansto.gov.au)
source $cfPath(commands)/commands_common.tcl
namespace eval motor {
# is_homing_list = comma separated list of motors which are safe to send "home"
variable is_homing_list ""
}
proc ::commands::isc_initialize {} {
::commands::ic_initialize
}

View File

@@ -1,31 +0,0 @@
# Author: Jing Chen (jgn@ansto.gov.au)
source $cfPath(counter)/counter_common_1.tcl
## TODO Put all the counter macros in the counter namespace
namespace eval counter {
variable isc_numchannels
variable isc_monitor_address
variable isc_portlist
variable isc_beam_monitor_list
proc set_sobj_attributes {} {
}
}
proc ::counter::isc_initialize {} {
if [catch {
variable isc_numchannels
variable isc_monitor_address
variable isc_portlist
variable isc_beam_monitor_list {MONITOR_1 MONITOR_2 MONITOR_3}
set isc_monitor_address "das1-[SplitReply [instrument]]"
set isc_portlist [list 33000 33001 33002 33003 33004 33005 33006 33007]
set isc_numchannels [llength $isc_beam_monitor_list]
::counter::ic_initialize
} message ] {
if {$::errorCode=="NONE"} {return $message}
return -code error "$message"
}
}

View File

@@ -1,3 +0,0 @@
# Author: Jing Chen (jgn@ansto.gov.au)
source $cfPath(hipadaba)/hipadaba_configuration_common.tcl

View File

@@ -1,860 +0,0 @@
# Author: Jing Chen (jgn@ansto.gov.au)
# All Motors are 25000 steps per motor revolution
# SET TO 1 TO USE THE TILT STAGE ie sample phi and chi
set use_tiltstage 0
set animal dingo
set sim_mode [SplitReply [motor_simulation]]
# Setup addresses of Galil DMC2280 controllers.
set dmc2280_controller1(host) mc1-$animal
set dmc2280_controller1(port) pmc1-$animal
set dmc2280_controller2(host) mc2-$animal
set dmc2280_controller2(port) pmc2-$animal
set dmc2280_controller3(host) mc3-$animal
set dmc2280_controller3(port) pmc3-$animal
set dmc2280_controller4(host) mc4-$animal
set dmc2280_controller4(port) pmc4-$animal
set dmc2280_controller5(host) mc5-$animal
set dmc2280_controller5(port) pmc5-$animal
set dmc2280_controller6(host) mc6-$animal
set dmc2280_controller6(port) pmc6-$animal
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)
# MakeAsyncQueue mc6 DMC2280 $dmc2280_controller6(host) $dmc2280_controller6(port)
}
#Measured absolute encoder reading at home position
set dummy_Home 0
set ftz_Home 0
set ptz_Home 0
set pom_Home 0
set stth_Home 0
set mtth_Home 0
set sv1_Home 0
set sh1_Home 0
set sv2_Home 0
set sh2_Home 0
set gom_Home 0
set scor_Home 0
# AND abs Encoder Reading with FFF to get the lowest 12 bits only
#set mra_Home 4286
set mra_Home 191
#set moma_Home 8386659
set moma_Home 2147
#set mrb_Home 294
set mrb_Home 294
#set momb_Home 8386694
set momb_Home 2182
#set mrc_Home 4558982
set mrc_Home 86
#set momc_Home 12499198
set momc_Home 2302
set mphi_Home 0
set mchi_Home 8383096
set mx_Home 8390604
set my_Home 8391084
set mom_Home 8389414
set rco_Home 0
set rcz_Home 0
set bsr_Home 0
set gv1_Home 0
set gv2_Home 0
# set movecount high to reduce the frequency of
# hnotify messages to a reasonable level
set move_count 100
############################
# Motor Controller 1
# Motor Controller 1
# Motor Controller 1
############################
#
# Dummy translation motor, useful for testing scans
#Motor dummy_motor asim [params \
asyncqueue mc1\
host mc1-dingo\
port pmc1-dingo\
axis A\
units mm\
hardlowerlim -500\
hardupperlim 500\
maxSpeed 1\
maxAccel 5\
maxDecel 5\
stepsPerX [expr 25000.0/5.0]\
absEnc 1\
absEncHome $dummy_Home\
cntsPerX [expr 8192.0/5.0]]
#dummy_motor part instrument
#dummy_motor long_name dummy_motor
#dummy_motor softlowerlim -500
#dummy_motor softupperlim 500
#dummy_motor home 0
# mc1: Polariser & Spin Flipper - Z translation slide
# Moto: 100:1 gear, 2mm pitch
set ptzStepRate [expr (300000.0/100.0)/2.0]
Motor ptz $motor_driver_type [params \
asyncqueue mc1\
host mc1-dingo\
port pmc1-dingo\
axis B\
units mm\
hardlowerlim 0\
hardupperlim 500\
maxSpeed [expr 400000.0/300000.0]\
maxAccel [expr 150000.0/300000.0]\
maxDecel [expr 150000.0/300000.0]\
stepsPerX $ptzStepRate\
absEnc 1\
absEncHome $ptz_Home\
cntsPerX 4096]
ptz part crystal
ptz long_name ptz
ptz softlowerlim 0
ptz softupperlim 500
ptz home 0
#if $use_tiltstage {
# mc1: Beryllium / Graphite filter shared - Z translation slide
# Moto: 100:1 gear, 2mm pitch
set ftzStepRate [expr (300000.0/100.0)/2.0]
Motor ftz $motor_driver_type [params \
asyncqueue mc1\
host mc1-dingo\
port pmc1-dingo\
axis C\
units mm\
hardlowerlim 0\
hardupperlim 500\
maxSpeed [expr 400000.0/300000.0]\
maxAccel [expr 150000.0/300000.0]\
maxDecel [expr 150000.0/300000.0]\
stepsPerX $ftzStepRate\
absEnc 1\
absEncHome $ftz_Home\
cntsPerX 4096]
ftz part crystal
ftz long_name ftz
ftz softlowerlim 0
ftz softupperlim 500
ftz home 0
}
# mc1: Polariser (& Spin Flipper) - Rotation + - 2 deg about polariser (i.e, The Elbow)
set pomSetRate 25000
Motor pom $motor_driver_type [params \
asyncqueue mc1\
host mc1-dingo\
port pmc1-dingo\
axis E\
units degrees\
hardlowerlim 0\
hardupperlim 2\
maxSpeed [expr 250000.0/$pomSetRate]\
maxAccel [expr 25000.0/$pomSetRate]\
maxDecel [expr 25000.0/$pomSetRate]\
stepsPerX $pomSetRate\
absEnc 1\
absEncHome $pom_Home\
cntsPerX 4096]
pom part crystal
pom long_name pom
pom softlowerlim 0
pom softupperlim 2
pom home 0
# mc1: Sample/Detector Chamber Rotation (Detector)
set stthSetRate 25000
Motor stth $motor_driver_type [params \
asyncqueue mc1\
host mc1-dingo\
port pmc1-dingo\
axis F\
units degrees\
hardlowerlim -125\
hardupperlim 8\
maxSpeed [expr 150000.0/$stthSetRate]\
maxAccel [expr 5000.0/$stthSetRate]\
maxDecel [expr 5000.0/$stthSetRate]\
stepsPerX $stthSetRate\
absEnc 1\
absEncHome $stth_Home\
cntsPerX 4096]
stth part detector
stth long_name stth
stth softlowerlim -125
stth softupperlim 8
stth home 0
# mc1: Instrument Drive System (Main Drive)
set mtthSetRate 25000
Motor mtth $motor_driver_type [params \
asyncqueue mc1\
host mc1-dingo\
port pmc1-dingo\
axis G\
units mm\
hardlowerlim 40\
hardupperlim 140\
maxSpeed [expr 150000.0/$mtthSetRate]\
maxAccel [expr 25000.0/$mtthSetRate]\
maxDecel [expr 25000.0/$mtthSetRate]\
stepsPerX $mtthSetRate\
absEnc 1\
absEncHome $mtth_Home\
cntsPerX 4096]
mtth part detector
mtth long_name mtth
mtth softlowerlim 40
mtth softupperlim 140
mtth home 0
############################
# Motor Controller 2
# Motor Controller 2
# Motor Controller 2
############################
#
# mc2: Slits Set AB1- (After Beryllium Filter) (2 blades and 1 Motor & Encoder set)
set sv1SetRate 25000
Motor sv1 $motor_driver_type [params \
asyncqueue mc2\
host mc2-dingo\
port pmc2-dingo\
axis A\
units mm\
hardlowerlim -2\
hardupperlim 60\
maxSpeed [expr 25000.0/$sv1SetRate]\
maxAccel [expr 25000.0/$sv1SetRate]\
maxDecel [expr 25000.0/$sv1SetRate]\
stepsPerX $sv1SetRate\
absEnc 1\
absEncHome $sv1_Home\
cntsPerX 4096]
sv1 part aperture
sv1 long_name sv1
sv1 softlowerlim -2
sv1 softupperlim 60
sv1 home 0
# mc2: Slits Set AB2- (After Beryllium Filter) (2 blades and 1 Motor & Encoder set)
set sh1SetRate 25000
Motor sh1 $motor_driver_type [params \
asyncqueue mc2\
host mc2-dingo\
port pmc2-dingo\
axis B\
units mm\
hardlowerlim -2\
hardupperlim 50\
maxSpeed [expr 25000.0/$sh1SetRate]\
maxAccel [expr 25000.0/$sh1SetRate]\
maxDecel [expr 25000.0/$sh1SetRate]\
stepsPerX $sh1SetRate\
absEnc 1\
absEncHome $sh1_Home\
cntsPerX 4096]
sh1 part aperture
sh1 long_name sh1
sh1 softlowerlim -2
sh1 softupperlim 50
sh1 home 0
# mc2: Slits Set AF1- (After Fermi Chopper) (2 blades and 1 Motor & Encoder set)
set sv2SetRate 25000
Motor sv2 $motor_driver_type [params \
asyncqueue mc2\
host mc2-dingo\
port pmc2-dingo\
axis C\
units mm\
hardlowerlim -2\
hardupperlim 40\
maxSpeed [expr 25000.0/$sv2SetRate]\
maxAccel [expr 25000.0/$sv2SetRate]\
maxDecel [expr 25000.0/$sv2SetRate]\
stepsPerX $sv2SetRate\
absEnc 1\
absEncHome $sv2_Home\
cntsPerX 4096]
sv2 part aperture
sv2 long_name sv2
sv2 softlowerlim -2
sv2 softupperlim 40
sv2 home 0
# mc2: Slits Set AF2- (After Fermi Chopper) (2 blades and 1 Motor & Encoder set)
set sh2SetRate 25000
Motor sh2 $motor_driver_type [params \
asyncqueue mc2\
host mc2-dingo\
port pmc2-dingo\
axis D\
units mm\
hardlowerlim -2\
hardupperlim 30\
maxSpeed [expr 25000.0/$sh2SetRate]\
maxAccel [expr 25000.0/$sh2SetRate]\
maxDecel [expr 25000.0/$sh2SetRate]\
stepsPerX $sh2SetRate\
absEnc 1\
absEncHome $sh2_Home\
cntsPerX 4096]
sh2 part aperture
sh2 long_name sh2
sh2 softlowerlim -2
sh2 softupperlim 30
sh2 home 0
# mc2: Graphite filter rotation stage (post 1st slit and post 1st Fermi chopper)
set gomSetRate 25000
Motor gom $motor_driver_type [params \
asyncqueue mc2\
host mc2-dingo\
port pmc2-dingo\
axis E\
units degrees\
hardlowerlim 0\
hardupperlim 15\
maxSpeed [expr 50000.0/$gomSetRate]\
maxAccel [expr 25000.0/$gomSetRate]\
maxDecel [expr 25000.0/$gomSetRate]\
stepsPerX $gomSetRate\
absEnc 1\
absEncHome $gom_Home\
cntsPerX 4096]
gom part sample
gom long_name gom
gom softlowerlim 0
gom softupperlim 15
gom home 0
# mc2: Sample rotation correction - 10 deg rotation
set scorSetRate 25000
Motor scor $motor_driver_type [params \
asyncqueue mc2\
host mc2-dingo\
port pmc2-dingo\
axis F\
units degrees\
hardlowerlim 0\
hardupperlim 360\
maxSpeed [expr 50000.0/$scorSetRate]\
maxAccel [expr 25000.0/$scorSetRate]\
maxDecel [expr 25000.0/$scorSetRate]\
stepsPerX $scorSetRate\
absEnc 1\
absEncHome $scor_Home\
cntsPerX 4096]
scor part sample
scor long_name scor
scor softlowerlim 0
scor softupperlim 360
scor home 0
############################
# Motor Controller 3
# Motor Controller 3
# Motor Controller 3
############################
#
# ROTATION STAGES 120:1 PLUS GEARBOX 8:1
# ROTATION STAGE RESOLVER 360:55
# FOCUS STAGE GEARBOX 6:1
# FOCUS STAGE RESOLVER DIRECT 310 DEG, 3527 COUNTS USABLE RANGE
# Computes Monochromator step rates (steps per degree) of focusing and Rotation
# 1 unit here is 1 degree
set monoRotateStepsPerUnit [expr 25000.0*8.0*120.0/360.0]
# Encode reading at the roation, 1 unit here is 1 degree
set MonoRotateCntsPerUnit [expr 4096.0*360.0/55.0/360.0]
# Setup Focus range as min = 0 and max = 1, working range = 0 to 1 (310 degrees)
# or, 0 for full focus and 1 for non focus
# Focusing rate 25000 steps * 6:1 gears = 150000, 1 unit here is 310 degrees
set monoFocusStepsPerUnit [expr -25000.0*6.0*310.0/360.0]
# Encode reading at Focusing stage, 1 unit here is 310 degrees
set monoFocusCntsPerUnit [expr 4096.0*310.0/360.0]
# Max speed for Focusing , -- currently set as 0.083
# speed unit here is 310 degrees
set monoFocusSpeed 0.05
set monoFocusMaxSpeed 0.083
# Precision setting turn/move, or 310*turn/move (degrees)
set monoFocusprecision 0.001
# mc3: Monochromator Focusing 1 - Focus
Motor mra $motor_driver_type [params \
asyncqueue mc3\
host mc3-dingo\
port pmc3-dingo\
axis A\
units degrees\
hardlowerlim 0\
hardupperlim 1\
precision $monoFocusprecision\
maxSpeed $monoFocusMaxSpeed\
maxAccel [expr 25000.0/25000.0]\
maxDecel [expr 25000.0/25000.0]\
stepsPerX $monoFocusStepsPerUnit\
absEnc 1\
absEncHome $mra_Home\
bias_bits 12\
cntsPerX $monoFocusCntsPerUnit]
mra speed $monoFocusSpeed
mra accel $monoFocusSpeed
mra decel $monoFocusSpeed
mra part crystal
mra long_name mra
mra softlowerlim 0
mra softupperlim 1
mra home 0
# fix the motor
mra fixed -1
# mc3: Monochromator Focusing 1 - Rotation
Motor moma $motor_driver_type [params \
asyncqueue mc3\
host mc3-dingo\
port pmc3-dingo\
axis B\
units degrees\
hardlowerlim -72.003174\
hardupperlim -20.0379\
maxSpeed 0.5\
maxAccel 0.5\
maxDecel 0.5\
stepsPerX $monoRotateStepsPerUnit\
absEnc 1\
absEncHome $moma_Home\
bias_bits 12\
cntsPerX $MonoRotateCntsPerUnit]
moma part crystal
moma long_name moma
moma softlowerlim -70
moma softupperlim -20.537842
moma home -45
# mc3: Monochromator Focusing 2 - Focus
Motor mrb $motor_driver_type [params \
asyncqueue mc3\
host mc3-dingo\
port pmc3-dingo\
axis C\
units degrees\
hardlowerlim 0\
hardupperlim 1\
precision $monoFocusprecision\
maxSpeed $monoFocusMaxSpeed\
maxAccel [expr 25000.0/25000.0]\
maxDecel [expr 25000.0/25000.0]\
stepsPerX $monoFocusStepsPerUnit\
absEnc 1\
absEncHome $mrb_Home\
bias_bits 12\
cntsPerX $monoFocusCntsPerUnit]
mrb speed $monoFocusSpeed
mrb accel $monoFocusSpeed
mrb decel $monoFocusSpeed
mrb part crystal
mrb long_name mrb
mrb softlowerlim 0
mrb softupperlim 1
mrb home 0
# fix the motor
mrb fixed -1
# mc3: Monochromator Focusing 2 - Rotation
Motor momb $motor_driver_type [params \
asyncqueue mc3\
host mc3-dingo\
port pmc3-dingo\
axis D\
units degree\
hardlowerlim -72.003174\
hardupperlim -20.198975\
maxSpeed 0.5\
maxAccel 0.5\
maxDecel 0.5\
stepsPerX $monoRotateStepsPerUnit\
absEnc 1\
absEncHome $momb_Home\
bias_bits 12\
cntsPerX $MonoRotateCntsPerUnit]
momb part crystal
momb long_name momb
momb softlowerlim -70
momb softupperlim -20.698975
momb home -45
# mc3: Monochromator Focusing 3 - Focus
Motor mrc $motor_driver_type [params \
asyncqueue mc3\
host mc3-dingo\
port pmc3-dingo\
axis E\
units degrees\
hardlowerlim 0\
hardupperlim 1\
precision $monoFocusprecision\
maxSpeed $monoFocusMaxSpeed\
maxAccel [expr 25000.0/25000.0]\
maxDecel [expr 25000.0/25000.0]\
stepsPerX $monoFocusStepsPerUnit\
absEnc 1\
absEncHome $mrc_Home\
bias_bits 12\
cntsPerX $monoFocusCntsPerUnit]
mrc speed $monoFocusSpeed
mrc accel $monoFocusSpeed
mrc decel $monoFocusSpeed
mrc part crystal
mrc long_name mrc
mrc softlowerlim 0
mrc softupperlim 1
mrc home 0
# fix the motor
mrc fixed -1
# mc3: Monochromator Focusing 3 - Rotation
Motor momc $motor_driver_type [params \
asyncqueue mc3\
host mc3-dingo\
port pmc3-dingo\
axis F\
units degree\
hardlowerlim -72.003174\
hardupperlim -21.246338\
maxSpeed 0.5\
maxAccel 0.5\
maxDecel 0.5\
stepsPerX $monoRotateStepsPerUnit\
absEnc 1\
absEncHome $momc_Home\
bias_bits 12\
cntsPerX $MonoRotateCntsPerUnit]
momc part crystal
momc long_name momc
momc softlowerlim -70
momc softupperlim -21.746338
momc home -45
############################
# Motor Controller 4
# Motor Controller 4
# Motor Controller 4
############################
#
# mc4: Monochromator crystal stages tilt stage - G270
set mphiSetRate 25000
Motor mphi $motor_driver_type [params \
asyncqueue mc4\
host mc4-dingo\
port pmc4-dingo\
axis A\
units degrees\
hardlowerlim -5\
hardupperlim 5\
maxSpeed [expr 50000.0/25000.0]\
maxAccel [expr 12500.0/25000.0]\
maxDecel [expr 12500.0/25000.0]\
stepsPerX $mphiSetRate\
absEnc 1\
absEncHome $mphi_Home\
cntsPerX 4096]
mphi part crystal
mphi long_name mphi
mphi softlowerlim -5
mphi softupperlim 5
mphi home 0
# mc4: Monochromator crystal stages tilt stage - G350
set mchiSetRate 25000
Motor mchi $motor_driver_type [params \
asyncqueue mc4\
host mc4-dingo\
port pmc4-dingo\
axis B\
units degrees\
hardlowerlim -5\
hardupperlim 5\
maxSpeed [expr 50000.0/25000.0]\
maxAccel [expr 12500.0/25000.0]\
maxDecel [expr 12500.0/25000.0]\
stepsPerX $mchiSetRate\
absEnc 1\
absEncHome $mchi_Home\
cntsPerX 4096]
mchi part crystal
mchi long_name mchi
mchi softlowerlim -5
mchi softupperlim 5
mchi home 0
mchi speed 0.2
mchi accel 0.1
mchi decel 0.1
# mc4: Monochromator crystal stages Linear stage X - T250
set mxSetRate 25000
Motor mx $motor_driver_type [params \
asyncqueue mc4\
host mc4-dingo\
port pmc4-dingo\
axis C\
units mm\
hardlowerlim -20\
hardupperlim 20\
maxSpeed [expr 50000.0/25000.0]\
maxAccel [expr 12500.0/25000.0]\
maxDecel [expr 12500.0/25000.0]\
stepsPerX $mxSetRate\
absEnc 1\
absEncHome $mx_Home\
cntsPerX 4096]
mx part crystal
mx long_name mx
mx softlowerlim -20
mx softupperlim 20
mx home 0
mx speed 1.0
# mc4: Monochromator crystal stages Linear stage Y - T250
set mySetRate 25000
Motor my $motor_driver_type [params \
asyncqueue mc4\
host mc4-dingo\
port pmc4-dingo\
axis D\
units mm\
hardlowerlim -20\
hardupperlim 20\
maxSpeed [expr 50000.0/25000.0]\
maxAccel [expr 12500.0/25000.0]\
maxDecel [expr 12500.0/25000.0]\
stepsPerX $mySetRate\
absEnc 1\
absEncHome $my_Home\
cntsPerX 4096]
my part crystal
my long_name my
my softlowerlim -10
my softupperlim 10
my home 0
my speed 1.0
# mc4: Monochromator crystal stages Rotation stage - R275
set momSetRate 25000
Motor mom $motor_driver_type [params \
asyncqueue mc4\
host mc4-dingo\
port pmc4-dingo\
axis E\
units degrees\
hardlowerlim -15\
hardupperlim 15\
maxSpeed [expr 50000.0/25000.0]\
maxAccel [expr 12500.0/25000.0]\
maxDecel [expr 12500.0/25000.0]\
stepsPerX $momSetRate\
absEnc 1\
absEncHome $mom_Home\
cntsPerX 4096]
mom speed 0.5
mom part crystal
mom long_name mom
mom softlowerlim -15
mom softupperlim 15
mom home 0
############################
# Motor Controller 6
# Motor Controller 6
# Motor Controller 6
############################
#
# mc6: Radial Collimator -- Oscillator
Motor rco $motor_driver_type [params \
asyncqueue mc6\
host mc6-dingo\
port pmc6-dingo\
axis A\
units mm\
hardlowerlim 0\
hardupperlim 180\
maxSpeed 50000\
maxAccel 60000\
maxDecel 60000\
stepsPerX 4096\
absEnc 1\
absEncHome $rco_Home\
cntsPerX 4096]
rco part collimator
rco long_name rco
rco softlowerlim 0
rco softupperlim 180
rco home 0
# mc6: Radial Collimator -- Z Translation
Motor rcz $motor_driver_type [params \
asyncqueue mc6\
host mc6-dingo\
port pmc6-dingo\
axis B\
units mm\
hardlowerlim 0\
hardupperlim 180\
maxSpeed 50000\
maxAccel 60000\
maxDecel 60000\
stepsPerX 4096\
absEnc 1\
absEncHome $rcz_Home\
cntsPerX 4096]
rcz part collimator
rcz long_name rcz
rcz softlowerlim 0
rcz softupperlim 180
rcz home 0
# mc6: Beam Stop Stage - Rotation
Motor bsr $motor_driver_type [params \
asyncqueue mc6\
host mc6-dingo\
port pmc6-dingo\
axis C\
units degrees\
hardlowerlim 0\
hardupperlim 180\
maxSpeed 50000\
maxAccel 60000\
maxDecel 60000\
stepsPerX 4096\
absEnc 1\
absEncHome $bsr_Home\
cntsPerX 4096]
bsr part sample
bsr long_name bsr
bsr softlowerlim 0
bsr softupperlim 180
bsr home 0
# mc6: Isolation Vaue -- Axis 1, currently this Axis is set to read ONLY to read the encoder
Motor gv1 $motor_driver_type [params \
asyncqueue mc6\
host mc6-dingo\
port pmc6-dingo\
axis E\
units degrees\
hardlowerlim 0\
hardupperlim 180\
maxSpeed 50000\
maxAccel 60000\
maxDecel 60000\
stepsPerX 4096\
absEnc 1\
absEncHome $gv1_Home\
cntsPerX 4096]
gv1 part sample
gv1 long_name gv1
gv1 softlowerlim 0
gv1 softupperlim 180
gv1 home 0
# fix the motor
gv1 fixed -1
# mc6: Isolation Vaue -- Axis 2, currently this Axis is set to read ONLY to read the encoder
Motor gv2 $motor_driver_type [params \
asyncqueue mc6\
host mc6-dingo\
port pmc6-dingo\
axis F\
units degrees\
hardlowerlim 0\
hardupperlim 180\
maxSpeed 30000\
maxAccel 60000\
maxDecel 60000\
stepsPerX 4096\
absEnc 1\
absEncHome $gv2_Home\
cntsPerX 4096]
gv2 part sample
gv2 long_name gv2
gv2 softlowerlim 0
gv2 softupperlim 180
gv2 home 0
# fix the motor
gv2 fixed -1
proc motor_set_sobj_attributes {} {
}
# END MOTOR CONFIGURATION
# According to http://www.nexusformat.org/Design units must conform to
# http://www.unidata.ucar.edu/software/udunits/udunits-1/udunits.txt
# So we use "count" for dimensionless decimal numbers
#set vc_units count
#make_coll_motor_2 c1 section_1 pc1 pc2 $vc_units
#make_coll_motor_1 c2 section_2 pc3 $vc_units
#make_coll_motor_1 c3 section_3 pc4 $vc_units
#make_coll_motor_1 c4 section_4 pc5 $vc_units
#make_coll_motor_1 c5 section_5 pc6 $vc_units
#make_coll_motor_1 c6 section_6 pc7 $vc_units
#make_coll_motor_1 c7 section_7 pc8 $vc_units
#make_coll_motor_1 c8 section_8 pc9 $vc_units
#make_coll_motor_1 c9 section_9 pc10 $vc_units
#unset vc_units

View File

@@ -1,61 +0,0 @@
# Author: Jing Chen (jgn@ansto.gov.au)
source $cfPath(motors)/sct_positmotor_common.tcl
set port1 [portnum pmc1-dingo]
set port2 [portnum pmc2-dingo]
set port3 [portnum pmc3-dingo]
set port4 [portnum pmc4-dingo]
set port5 [portnum pmc5-dingo]
set port6 [portnum pmc6-dingo]
makesctcontroller sct_mc1 std mc1-dingo:$port1
makesctcontroller sct_mc2 std mc2-dingo:$port2
makesctcontroller sct_mc3 std mc3-dingo:$port3
makesctcontroller sct_mc4 std mc4-dingo:$port4
makesctcontroller sct_mc5 std mc5-dingo:$port5
makesctcontroller sct_mc6 std mc6-dingo:$port6
# label pos
#index position
set 20sample_table {
1 453.7
2 411.7
3 369.7
4 327.7
5 285.7
6 203.7
7 161.7
8 119.7
9 77.7
10 35.7
11 -46.3
12 -88.3
13 -130.3
14 -172.3
15 -214.3
16 -296.3
17 -338.3
18 -380.3
19 -422.3
20 -464.3
}
#mkPosit sct_mc1 sampleNum float samx sample $20sample_table
#diameter position
set auto_ap_table {
2.5 0
5.0 -23
7.5 -47
10.0 -72
12.5 -98
15.0 -125
17.5 -153
20.0 -183
25.0 -215
30.0 -250
}
#mkPosit sct_mc3 diameter float apx sample $auto_ap_table

View File

@@ -1,3 +0,0 @@
all:
clean:

View File

@@ -1,4 +0,0 @@
source $cfPath(nexus)/nxscripts_common_1.tcl
proc ::nexus::isc_initialize {} {
::nexus::ic_initialize
}

View File

@@ -1,8 +0,0 @@
set sim_mode [SplitReply [plc_simulation]]
if {$sim_mode == "false"} {
# MakeAsyncQueue plc_chan SafetyPLC 137.157.204.79 31001
# MakeSafetyPLC plc plc_chan 0
}
source $cfPath(plc)/plc_common_1.tcl

View File

@@ -1,6 +0,0 @@
source $cfPath(scan)/scan_common_1.tcl
proc ::scan::pre_hmm_scan_prepare {} {}
proc ::scan::isc_initialize {} {
::scan::ic_initialize
}

View File

@@ -1,8 +0,0 @@
# Author Jing Chen (jgn@ansto.gov.au)
source $cfPath(source)/source_common.tcl
proc ::source::isc_initialize {} {
::source::ic_initialize "thermal"
}

View File

@@ -1,52 +0,0 @@
# Author: Jing Chen (jgn@ansto.gov.au)
# Required by server_config.tcl
VarMake Instrument Text Internal
Instrument dingo
Instrument lock
#START SERVER CONFIGURATION SECTION
source util/dmc2280/dmc2280_util.tcl
source sics_ports.tcl
source server_config.tcl
#END SERVER CONFIGURATION SECTION
########################################
# INSTRUMENT SPECIFIC CONFIGURATION
source $cfPath(hipadaba)/hipadaba_configuration.tcl
fileeval $cfPath(source)/source.tcl
fileeval $cfPath(motors)/motor_configuration.tcl
fileeval $cfPath(motors)/positmotor_configuration.tcl
#fileeval $cfPath(motors)/extraconfig.tcl
fileeval $cfPath(plc)/plc.tcl
fileeval $cfPath(counter)/counter.tcl
fileeval $cfPath(hmm)/hmm_configuration.tcl
fileeval $cfPath(nexus)/nxscripts.tcl
fileeval $cfPath(scan)/scan.tcl
fileeval $cfPath(commands)/commands.tcl
fileeval $cfPath(commands)/monodrive.tcl
fileeval $cfPath(anticollider)/anticollider.tcl
fileeval $cfPath(beamline)/hv_control.tcl
source gumxml.tcl
::utility::mkVar ::anticollider::protect_detector text manager protect_detector false detector true false
::anticollider::protect_detector "true"
# fix all motors
foreach m [sicslist type motor] {
if {$m == "motor" || $m == "dummy_motor"} {
# skipit
} else {
clientput fix $m position
$m fixed 1
}
}
server_init
###########################################
# WARNING: Do not add any code below server_init, if you do SICS may fail to initialise properly.
# You can add extra-configuration code in ../extraconfig.tcl

View File

@@ -1,4 +0,0 @@
set quieckport sics-quieck-val-dingo
set serverport sics-server-val-dingo
set interruptport sics-interrupt-val-dingo
set telnetport sics-telnet-val-dingo

View File

@@ -1,4 +0,0 @@
set quieckport sics-quieck-dingo
set serverport sics-server-dingo
set interruptport sics-interrupt-dingo
set telnetport sics-telnet-dingo

View File

@@ -1,17 +0,0 @@
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
set configFileName "motor_configuration.tcl"
# These subroutines should be installed on the controllers
set contSubs(dmc2280_controller1) "#AUTO #LIMSWI #SOLCTRL #TCPERR"
set contSubs(dmc2280_controller2) "#AUTO #LIMSWI #SOLCTRL #TCPERR"
set contSubs(dmc2280_controller3) "#AUTO #HOME #LOOPER #RES #TCPERR"
set contSubs(dmc2280_controller4) "#AUTO #HOME #LIMSWI #LOOPER #TCPERR"
# These threads should be running on the controllers.
set contThreads(dmc2280_controller1) "0"
set contThreads(dmc2280_controller2) "0"
set contThreads(dmc2280_controller3) "0"
set contThreads(dmc2280_controller4) "0"