Add motor soma to dingo configuration

This commit is contained in:
Douglas Clowes
2015-04-17 10:48:20 +10:00
parent 27c3a48d91
commit fea223beff
2 changed files with 370 additions and 70 deletions

View File

@ -16,6 +16,12 @@ if {$sim_mode == "true"} {
#MakeAsyncQueue mc3 DMC2280 [dict get $::MOTOR_HOSTPORT MC3 HOST] [dict get $::MOTOR_HOSTPORT MC3 PORT] #MakeAsyncQueue mc3 DMC2280 [dict get $::MOTOR_HOSTPORT MC3 HOST] [dict get $::MOTOR_HOSTPORT MC3 PORT]
} }
set sample_stage_rotate "normal_sample_stage"
if { [ info exists ::config_dict ] } {
if { [ dict exists $::config_dict sample_stage implementation ] } {
set sample_stage_rotate [ dict get $::config_dict sample_stage implementation ]
}
}
# Dummy translation motor, useful for testing scans # Dummy translation motor, useful for testing scans
set dummy_Home 0 set dummy_Home 0
@ -135,41 +141,43 @@ sy softlowerlim -50
sy softupperlim 230 sy softupperlim 230
sy home 0 sy home 0
# mc1: Sample rotation axis if {[string equal -nocase ${sample_stage_rotate} "normal_sample_stage"]} {
# Gearbox 100:1, screw pitch 356:1 # mc1: Sample rotation axis
# Encoder 2P17 # Gearbox 100:1, screw pitch 356:1
#set stth_Home 821487 # Encoder 2P17
set stth_Home 0 #set stth_Home 821487
#set stthStepRate [expr -$motorrate*100.0] set stth_Home 0
set stthStepRate -2478000 #set stthStepRate [expr -$motorrate*100.0]
Motor stth $motor_driver_type [params \ set stthStepRate -2478000
asyncqueue mc1\ Motor stth $motor_driver_type [params \
host mc1-dingo\ asyncqueue mc1\
port pmc1-dingo\ host mc1-dingo\
axis D\ port pmc1-dingo\
units degree\ axis D\
hardlowerlim -722\ units degree\
hardupperlim 722\ hardlowerlim -722\
maxSpeed 0.12\ hardupperlim 722\
maxAccel 1\ maxSpeed 2.0\
maxDecel 1\ maxAccel 1\
stepsPerX $stthStepRate\ maxDecel 1\
absEnc 1\ stepsPerX $stthStepRate\
absEncHome $stth_Home\ absEnc 1\
nopowersave 1\ absEncHome $stth_Home\
cntsPerX 93206.75556 ] nopowersave 1\
stth speed 0.1 cntsPerX 93206.75556 ]
stth accel 0.1 stth speed 0.5
stth decel 0.1 stth accel 0.1
stth part sample stth decel 0.1
stth long_name stth stth part sample
stth softlowerlim 0.01 stth long_name stth
stth softupperlim 359.99 stth softlowerlim 0.01
stth home 0 stth softupperlim 359.99
#stth bias_bits 25 stth home 0
#stth bias_bias -33432264 #stth bias_bits 25
stth rotary_bits 25 #stth bias_bias -33432264
stth creep_offset 0.05 stth rotary_bits 25
stth creep_offset 0.05
}
# mc1: detection Z-stage Translation # mc1: detection Z-stage Translation
# Gearbox 5:1, Gear ratio 16:1, pitch 4mm # Gearbox 5:1, Gear ratio 16:1, pitch 4mm
@ -199,40 +207,81 @@ dz softlowerlim 0
dz softupperlim 170 dz softupperlim 170
dz home 0 dz home 0
# mc1:H Sample rotation axis if {[string equal -nocase ${sample_stage_rotate} "soma"]} {
# Resolver 2,048 counts per degree # mc1:H Sample rotation axis
# Motor 12,500 steps per degree # Resolver 2,048 counts per degree
# Positive steps are CCW viewed from above # Motor 12,500 steps per degree
set soma_Home 9867748 # Positive steps are CCW viewed from above
#set somaStepRate [expr -$motorrate*100.0] set soma_Home 9867748
set somaStepRate 12500 #set somaStepRate [expr -$motorrate*100.0]
Motor soma $motor_driver_type [params \ set somaStepRate 12500
asyncqueue mc1\ Motor soma $motor_driver_type [params \
host mc1-dingo\ asyncqueue mc1\
port pmc1-dingo\ host mc1-dingo\
axis H\ port pmc1-dingo\
units degree\ axis H\
hardlowerlim -722\ units degree\
hardupperlim 722\ hardlowerlim -722\
maxSpeed 12\ hardupperlim 722\
maxAccel 1\ maxSpeed 12\
maxDecel 1\ maxAccel 1\
stepsPerX $somaStepRate\ maxDecel 1\
absEnc 1\ stepsPerX $somaStepRate\
absEncHome $soma_Home\ absEnc 1\
nopowersave 1\ absEncHome $soma_Home\
cntsPerX 2048 ] nopowersave 1\
soma speed 0.1 cntsPerX 2048 ]
soma accel 0.1 soma speed 0.1
soma decel 0.1 soma accel 0.1
soma part sample soma decel 0.1
soma long_name soma soma part sample
soma softlowerlim -1 soma long_name soma
soma softupperlim 361 soma softlowerlim -1
soma home 0 soma softupperlim 361
#soma bias_bits 25 soma home 0
#soma rotary_bits 25 #soma bias_bits 25
soma creep_offset 0.05 #soma rotary_bits 25
soma creep_offset 0.05
}
if {[string equal -nocase ${sample_stage_rotate} "somb"]} {
# mc1:D,H Sample rotation axis
# Resolver 4,096 counts per degree
# Motor 10*25,000 steps per degree
# Positive steps are CCW viewed from above
set somb_Home [expr 2**23]
#set sombStepRate [expr -$motorrate*100.0]
set sombStepRate [expr 10 * 25000]
Motor somb $motor_driver_type [params \
asyncqueue mc1\
host mc1-dingo\
port pmc1-dingo\
axis D\
encoderaxis H\
units degree\
hardlowerlim -722\
hardupperlim 722\
maxSpeed 0.4\
maxAccel 1\
maxDecel 1\
stepsPerX $sombStepRate\
absEnc 1\
absEncHome $somb_Home\
nopowersave 1\
cntsPerX 4096 ]
somb speed 0.1
somb accel 0.1
somb decel 0.1
somb part sample
somb long_name somb
somb softlowerlim -1
somb softupperlim 361
somb home 0
somb bias_bits 24
somb bias_bias [expr 2**23]
#somb rotary_bits 25
somb creep_offset 0.05
}
############################ ############################
@ -243,7 +292,7 @@ soma creep_offset 0.05
# #
# mc2: Camera translation axis along beam # mc2: Camera translation axis along beam
# Gearbox ?, Gear ratio ?, # Gearbox ?, Gear ratio ?,
set dy_Home 8847069 set dy_Home 8847069
set dyStepRate [expr 25000.0/2.0] set dyStepRate [expr 25000.0/2.0]
Motor dy $motor_driver_type [params \ Motor dy $motor_driver_type [params \

View File

@ -0,0 +1,251 @@
[CF5]
cascade = T1:CF5_ls340,sample_stage:normal_sample_stage
enabled = False
[Default]
cascade = sample_stage:normal_sample_stage
enabled = True
[Function_Generator]
datype = V
enabled = False
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
id = 2
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
optype = temperature
[T3]
datype = T
enabled = False
id = 3
implementation = none
name = tc3
optype = temperature
[T4]
datype = T
enabled = False
id = 4
implementation = none
name = tc4
optype = temperature
[V1]
datype = V
enabled = False
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 = somb
name = sample_stage
optype = motion_axis
[CF5_ls340]
asyncqueue = sct
desc = "Lakeshore 340 temperature controller"
driver = "ls340"
imptype = temperature
ip = 10.157.205.34
port = 4001
terminator = \r\n
tol1 = 1.0
tol2 = 1.0
[agilent_33220A]
asyncqueue = sct
desc = "Function Generator"
driver = agilent_33220A
imptype = function_generator
ip = 10.157.205.16
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
tol1 = 1.0
tol2 = 1.0
[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 = 137.157.201.21
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
permlink = LT
port = 7020
terminator = \r\n
tol = 1.0
valve_tol = 2
[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
[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
[soma]
desc = "This is alternative Sample Omega A"
imptype = motion_axis
[somb]
desc = "This is alternative Sample Omega B"
imptype = motion_axis