Adding site_ansto files

r984 | ffr | 2006-05-09 08:31:50 +1000 (Tue, 09 May 2006) | 2 lines
This commit is contained in:
Ferdi Franceschini
2006-05-09 08:31:50 +10:00
committed by Douglas Clowes
parent e4e85ee389
commit a72513165b
46 changed files with 10885 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,83 @@
#TODO Version stamp this code and write the version number to the generated code
# axis = A B C D E F
# encodercounts = number of encoder counts per revolution
# quadcounts = number of quadrature counts per revolution
# tolquadcounts = tolerance in quadrature counts
proc genMOVE {axis encodercounts quadcounts tolquadcounts} {
puts "NO CLOSE MOTION LOOP FOR ${axis} AXIS
NO If the motor is within ${axis}TOLQC quadrature counts of the target
NO position then adjust it.
${axis}DIFF=${axis}QTARGET - _TP${axis}
IF ( ((100*${axis}TOLQC) > @ABS\[${axis}DIFF\]) & (@ABS\[${axis}DIFF\] > ${axis}TOLQC) )
${axis}SHLDFIX=1
ELSE
${axis}SHLDFIX=0
ENDIF
IF (${axis}FIXPOS=1)
${axis}OLDQT=${axis}QTARGET
${axis}count=10
SH${axis}
#${axis}LOOP
NO Abort if target position changes
IF (${axis}OLDQT <> ${axis}QTARGET)
JP#${axis}ENDCLP
ENDIF
${axis}count=${axis}count-1
PR${axis}=${encodercounts}*(${axis}DIFF/${quadcounts})
IF (_SP${axis}>${axis}MINSP)
SP${axis}=@ABS\[_PR${axis}\]/2.0
IF (_SP${axis} < ${axis}MINSP)
SP${axis}=${axis}MINSP
ENDIF
IF (_SP${axis} > ${axis}MAXSP)
SP${axis}=${axis}MAXSP
ENDIF
ENDIF
BG${axis}
MC${axis}
${axis}DIFF=${axis}QTARGET - _TP${axis}
IF ( ((100*${axis}TOLQC) > @ABS\[${axis}DIFF\]) & (@ABS\[${axis}DIFF\] > ${axis}TOLQC) )
JP#${axis}LOOP,${axis}count>0
ENDIF
#${axis}ENDCLP
NO Restore speed to maximum
${axis}FIXPOS=0
${axis}SHLDFIX=0
SP${axis}=${axis}MAXSP
ENDIF"
}
# Generate subroutine to start the servo loop thread
puts "#CLSLOOP"
set tolquadcounts 1
set encodercounts 25000
set quadcounts 8192
puts "NO Initilise tolerance, max and min speeds
ATOLQC=100
AMAXSP=${encodercounts}
AMINSP=100*(${encodercounts}/93207)
AFIXPOS=0"
foreach {axis} {B C D E F} {
puts "${axis}TOLQC=${tolquadcounts}
${axis}MAXSP=${encodercounts}
${axis}MINSP=100*(${encodercounts}/$quadcounts)
${axis}FIXPOS=0"
}
foreach {axis} {A B C D E F} {
puts "${axis}DIFF=${axis}QTARGET - _TP${axis}
IF ( ((100*${axis}TOLQC) > @ABS\[${axis}DIFF\]) & (@ABS\[${axis}DIFF\] > ${axis}TOLQC) )
${axis}SHLDFIX=1
ELSE
${axis}SHLDFIX=0
ENDIF"
}
puts "XQ#SERVOLP,1
EN"
# Generate servo loop
puts "#SERVOLP"
genMOVE A $encodercounts -93165 $tolquadcounts
foreach {axis} {B C D E F} {
genMOVE $axis $encodercounts $quadcounts $tolquadcounts
}
puts "JP#SERVOLP"

View File

@@ -0,0 +1,25 @@
proc move_away_from_switch {axis} {
puts "NO Move slit forward 10mm if it is against the reverse limit switch
IF ((_TS${axis} & 4) = 0)
SH${axis}
PR${axis}=200000
BG${axis}
ENDIF"
}
puts "#HOME"
foreach {axis} {A B C D} {
move_away_from_switch $axis
}
puts "AM"
puts "NO Drive all slits into reverse limit switch"
puts "SH
JG -25000,-25000,-25000,-25000
BGABCD
AM"
puts "NO Move forward from switch by 2mm and set zero"
puts "PR 40000,40000,40000,40000
BGABCD
AM
DP 0,0,0,0"
puts "EN"

View File

@@ -0,0 +1,473 @@
# $Revision: 1.1 $
# $Date: 2006-05-08 22:31:50 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: ffr $
#START SERVER CONFIGURATION SECTION
installprotocolhandler
# Use this to create an array of named parameters to inilise motors.
proc params {args} {
upvar 1 "" x;
if [info exists x] {unset x}
eval "array set x [list $args]"
}
ServerOption statusfile log/status.tcl
ServerOption RedirectFile log/stdout
ServerOption LogFileBaseName log/serverlog
ServerOption LogFileDir log
ServerOption QuieckPort 60004
ServerOption ServerPort 60003
ServerOption InterruptPort 60002
ServerOption TelWord sicslogin
ServerOption TelnetPort 60001
ServerOption ReadUserPasswdTimeout 600000
ServerOption AcceptTimeOut 10
ServerOption ReadTimeOut 10
SicsUser manager ansto 1
SicsUser user sydney 2
SicsUser spy 007 3
MakeDataNumber SicsDataNumber data/DataNumber
VarMake SicsDataPath Text Internal
SicsDataPath data/
SicsDataPath lock
VarMake SicsDataPrefix Text Internal
SicsDataPrefix smp
SicsDataPrefix lock
VarMake SicsDataPostFix Text Internal
SicsDataPostFix .hdf
SicsDataPostFix lock
VarMake Title Text User
VarMake Sample Text User
VarMake User Text User
VarMake starttime Text User
VarMake currentfile Text User
VarMake batchroot Text User
VarMake Instrument Text Internal
Instrument HRPD
Instrument lock
MakeDrive
#END SERVER CONFIGURATION SECTION
########################################
# INSTRUMENT SPECIFIC CONFIGURATION
#XXX WHICH CONTROLLER DO ECHI AND EPHI BELONG TO
#Motor echi DMC2280 [params \
# host hhh\
# port ppp\
# axis A\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#echi hardlowerlim 0
#echi hardupperlim 360
#echi softlowerlim 0
#echi softupperlim 360
#echi home 0
#Motor ephi DMC2280 [params \
# host hhh\
# port ppp\
# axis A?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#ephi hardlowerlim 0
#ephi hardupperlim 360
#ephi softlowerlim 0
#ephi softupperlim 360
#ephi home 0
# Setup addresses of Galil DMC2280 controllers.
set dmc2280_controller1(host) 137.157.201.66
set dmc2280_controller1(port) 1034
set dmc2280_controller2(host) localhost
#set dmc2280_controller2(host) 137.157.201.67 1034
set dmc2280_controller2(port) 1034
set dmc2280_controller3(host) localhost
#set dmc2280_controller3(host) 137.157.201.67
set dmc2280_controller3(port) 1035
#set dmc2280_controller3(port) 1034
set dmc2280_controller4(host) 137.157.201.68
set dmc2280_controller4(port) 1034
#Motor mth DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#mth hardlowerlim -180
#mth hardupperlim 180
#mth softlowerlim -180
#mth softupperlim 180
#mth home 0
#
#Motor mom DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#mom hardlowerlim -180
#mom hardupperlim 180
#mom softlowerlim -180
#mom softupperlim 180
#mom home 0
#
#Motor mtth DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#mtth hardlowerlim 85
#mtth hardupperlim 155
#mtth softlowerlim 85
#mtth softupperlim 155
#mtth home 120
#
#Motor mchi DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#mchi hardlowerlim 70
#mchi hardupperlim 110
#mchi softlowerlim 70
#mchi softupperlim 110
#mchi home 90
#
#Motor mphi DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#mphi hardlowerlim -20
#mphi hardupperlim 20
#mphi softlowerlim -20
#mphi softupperlim 20
#mphi home 0
#
#Motor mx DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#mx hardlowerlim -20
#mx hardupperlim 20
#mx softlowerlim -20
#mx softupperlim 20
#mx home 0
#
#Motor my DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#my hardlowerlim -20
#my hardupperlim 20
#my softlowerlim -20
#my softupperlim 20
#my home 0
#
#Motor mr DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#mr hardlowerlim HLL
#mr hardupperlim HUL
#mr softlowerlim SLL
#mr softupperlim SUL
#mr home 0
#
#Motor pc1 DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis F\
# stepsPerX XXX]
#pc1 hardlowerlim HLL
#pc1 hardupperlim HUL
#pc1 softlowerlim SLL
#pc1 softupperlim SUL
#pc1 home 0
#
#Motor pc2 DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis G\
# stepsPerX XXX]
#pc2 hardlowerlim HLL
#pc2 hardupperlim HUL
#pc2 softlowerlim SLL
#pc2 softupperlim SUL
#pc2 home 0
#
#Motor sth DMC2280 [params \
# host $dmc2280_controller2(host)\
# port $dmc2280_controller2(port)\
# axis A?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#sth hardlowerlim -180
#sth hardupperlim 180
#sth softlowerlim -180
#sth softupperlim 180
#sth home 0
Motor som DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis B\
stepsPerX 25000\
absEnc 1\
absEncHome 17694127\
cntsPerX 8192]
som hardlowerlim -180
som hardupperlim 180
som softlowerlim -1.9
som softupperlim 1.9
som home 0
Motor stth DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis A\
stepsPerX 125000\
motorHome 11250000\
absEnc 1\
absEncHome 6559259\
cntsPerX -93207]
stth hardlowerlim 85
stth hardupperlim 155
stth softlowerlim 85
stth softupperlim 155
stth home 120
Motor schi DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis E\
stepsPerX -25000\
motorHome 500000\
absEnc 1\
absEncHome 7581355\
cntsPerX -8192]
schi hardlowerlim 70
schi hardupperlim 110
schi softlowerlim 70
schi softupperlim 110
schi home 90
Motor sphi DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis F\
stepsPerX -25000\
motorHome 500000\
absEnc 1\
absEncHome 7934290\
cntsPerX -8192]
sphi hardlowerlim -20
sphi hardupperlim 20
sphi softlowerlim -20
sphi softupperlim 20
sphi home 0
Motor sx DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis D\
stepsPerX -25000\
absEnc 1\
absEncHome 7562793\
cntsPerX -8192]
sx hardlowerlim -20
sx hardupperlim 20
sx softlowerlim -20
sx softupperlim 20
sx home 0
Motor sy DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis C\
stepsPerX -25000\
absEnc 1\
absEncHome 7562793\
cntsPerX -8192]
sy hardlowerlim -20
sy hardupperlim 20
sy softlowerlim -20
sy softupperlim 20
sy home 0
Motor ss1u DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis C\
stepsPerX -20000\
motorHome 2040518]
ss1u hardlowerlim 0
ss1u hardupperlim 50
ss1u softlowerlim 0
ss1u softupperlim 50
ss1u home 0
Motor ss1d DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis D\
stepsPerX -20000\
motorHome 2040518]
ss1d hardlowerlim 0
ss1d hardupperlim 50
ss1d softlowerlim 0
ss1d softupperlim 50
ss1d home 0
Motor ss1l DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis A\
stepsPerX -20000\
motorHome 542093]
ss1l hardlowerlim 0
ss1l hardupperlim 50
ss1l softlowerlim 0
ss1l softupperlim 50
ss1l home 0
Motor ss1r DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis B\
stepsPerX -20000\
motorHome 542093]
ss1r hardlowerlim 0
ss1r hardupperlim 50
ss1r softlowerlim 0
ss1r softupperlim 50
ss1r home 0
#Motor ss2u DMC2280 [params \
# host $dmc2280_controller4(host)\
# port $dmc2280_controller4(port)\
# axis F?\
# stepsPerX -20000\
# motorHome 2043085]
#ss2u hardlowerlim 0
#ss2u hardupperlim 50
#ss2u softlowerlim 0
#ss2u softupperlim 50
#ss2u home 0
#
#Motor ss2d DMC2280 [params \
# host $dmc2280_controller4(host)\
# port $dmc2280_controller4(port)\
# axis F?\
# stepsPerX -20000\
# motorHome 2043085]
#ss2d hardlowerlim 0
#ss2d hardupperlim 50
#ss2d softlowerlim 0
#ss2d softupperlim 50
#ss2d home 0
#
#Motor ss2l DMC2280 [params \
# host $dmc2280_controller4(host)\
# port $dmc2280_controller4(port)\
# axis F?\
# stepsPerX -20000\
# motorHome 500000]
#ss2l hardlowerlim 0
#ss2l hardupperlim 50
#ss2l softlowerlim 0
#ss2l softupperlim 50
#ss2l home 0
#
#Motor ss2r DMC2280 [params \
# host $dmc2280_controller4(host)\
# port $dmc2280_controller4(port)\
# axis F?\
# stepsPerX -20000\
# motorHome 500000]
#ss2r hardlowerlim 0
#ss2r hardupperlim 50
#ss2r softlowerlim 0
#ss2r softupperlim 50
#ss2r home 0
proc SplitReply { text } {
set l [split $text =]
return [lindex $l 1]
}
# virtual motor d1(h)orizontal (width)
#--------------------------------------------------------
proc widthscript {val} {
set currentWidth [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
set diff [expr $val - $currentWidth]
set newD1R [expr [SplitReply [ss1r]] + $diff/2]
set newD1L [expr [SplitReply [ss1l]] + $diff/2]
return "ss1r=$newD1R,ss1l=$newD1L"
}
publish widthscript user
#-------------------------------------------------------
proc readwidth {} {
return [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
}
publish readwidth user
#-------------------------------------------------------
MakeConfigurableMotor ss1hg
ss1hg drivescript widthscript
ss1hg readscript readwidth
# virtual motor d1v(ertical), height
#-----------------------------------------------------
proc heightscript {val} {
set currentWidth [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]]
set diff [expr $val - $currentWidth]
set newD1B [expr [SplitReply [ss1d]] + $diff/2]
set newD1T [expr [SplitReply [ss1u]] + $diff/2]
return "ss1d=$newD1B,ss1u=$newD1T"
}
publish heightscript user
#-------------------------------------------------------
proc readheight {} {
return [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]]
}
publish readheight user
#---------------------------------------------------------
MakeConfigurableMotor ss1vg
ss1vg drivescript heightscript
ss1vg readscript readheight

View File

@@ -0,0 +1,513 @@
# $Revision: 1.1 $
# $Date: 2006-05-08 22:31:50 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: ffr $
#START SERVER CONFIGURATION SECTION
installprotocolhandler
# Use this to create an array of named parameters to inilise motors.
proc params {args} {
upvar 1 "" x;
if [info exists x] {unset x}
eval "array set x [list $args]"
}
ServerOption statusfile log/status.tcl
ServerOption RedirectFile log/stdout
ServerOption LogFileBaseName log/serverlog
ServerOption LogFileDir log
ServerOption QuieckPort 60004
ServerOption ServerPort 60003
ServerOption InterruptPort 60002
ServerOption TelWord sicslogin
ServerOption TelnetPort 60001
ServerOption ReadUserPasswdTimeout 600000
ServerOption AcceptTimeOut 10
ServerOption ReadTimeOut 10
SicsUser manager ansto 1
SicsUser user sydney 2
SicsUser spy 007 3
MakeDataNumber SicsDataNumber data/DataNumber
VarMake SicsDataPath Text Internal
SicsDataPath data/
SicsDataPath lock
VarMake SicsDataPrefix Text Internal
SicsDataPrefix smp
SicsDataPrefix lock
VarMake SicsDataPostFix Text Internal
SicsDataPostFix .hdf
SicsDataPostFix lock
VarMake Title Text User
VarMake Sample Text User
VarMake User Text User
VarMake starttime Text User
VarMake currentfile Text User
VarMake batchroot Text User
VarMake Instrument Text Internal
Instrument HRPD
Instrument lock
MakeDrive
#END SERVER CONFIGURATION SECTION
########################################
# INSTRUMENT SPECIFIC CONFIGURATION
#XXX WHICH CONTROLLER DO ECHI AND EPHI BELONG TO
#Motor echi DMC2280 [params \
# host hhh\
# port ppp\
# axis A\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#echi hardlowerlim 0
#echi hardupperlim 360
#echi softlowerlim 0
#echi softupperlim 360
#echi home 0
#Motor ephi DMC2280 [params \
# host hhh\
# port ppp\
# axis A?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#ephi hardlowerlim 0
#ephi hardupperlim 360
#ephi softlowerlim 0
#ephi softupperlim 360
#ephi home 0
# Setup addresses of Galil DMC2280 controllers.
set dmc2280_controller1(host) 137.157.201.66
set dmc2280_controller1(port) 1034
set dmc2280_controller2(host) localhost
#set dmc2280_controller2(host) 137.157.201.67 1034
set dmc2280_controller2(port) 1034
set dmc2280_controller3(host) localhost
#set dmc2280_controller3(host) 137.157.201.67
set dmc2280_controller3(port) 1035
#set dmc2280_controller3(port) 1034
set dmc2280_controller4(host) 137.157.201.68
set dmc2280_controller4(port) 1034
#Motor mth DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#mth hardlowerlim -180
#mth hardupperlim 180
#mth softlowerlim -180
#mth softupperlim 180
#mth home 0
#
#Motor mom DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#mom hardlowerlim -180
#mom hardupperlim 180
#mom softlowerlim -180
#mom softupperlim 180
#mom home 0
#
#Motor mtth DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#mtth hardlowerlim 85
#mtth hardupperlim 155
#mtth softlowerlim 85
#mtth softupperlim 155
#mtth home 120
#
#Motor mchi DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#mchi hardlowerlim 70
#mchi hardupperlim 110
#mchi softlowerlim 70
#mchi softupperlim 110
#mchi home 90
#
#Motor mphi DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#mphi hardlowerlim -20
#mphi hardupperlim 20
#mphi softlowerlim -20
#mphi softupperlim 20
#mphi home 0
#
#Motor mx DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#mx hardlowerlim -20
#mx hardupperlim 20
#mx softlowerlim -20
#mx softupperlim 20
#mx home 0
#
#Motor my DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#my hardlowerlim -20
#my hardupperlim 20
#my softlowerlim -20
#my softupperlim 20
#my home 0
#
#Motor mr DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis X?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#mr hardlowerlim HLL
#mr hardupperlim HUL
#mr softlowerlim SLL
#mr softupperlim SUL
#mr home 0
#
#Motor pc1 DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis F\
# stepsPerX XXX]
#pc1 hardlowerlim HLL
#pc1 hardupperlim HUL
#pc1 softlowerlim SLL
#pc1 softupperlim SUL
#pc1 home 0
#
#Motor pc2 DMC2280 [params \
# host $dmc2280_controller1(host)\
# port $dmc2280_controller1(port)\
# axis G\
# stepsPerX XXX]
#pc2 hardlowerlim HLL
#pc2 hardupperlim HUL
#pc2 softlowerlim SLL
#pc2 softupperlim SUL
#pc2 home 0
#
#Motor sth DMC2280 [params \
# host $dmc2280_controller2(host)\
# port $dmc2280_controller2(port)\
# axis A?\
# stepsPerX XXX\
# absEnc 1\
# absEncHome YYY\
# cntsPerX ZZZ]
#sth hardlowerlim -180
#sth hardupperlim 180
#sth softlowerlim -180
#sth softupperlim 180
#sth home 0
Motor som DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis B\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX 25000\
absEnc 1\
absEncHome 17694127\
cntsPerX 8192]
som hardlowerlim -180
som hardupperlim 180
som softlowerlim -1.9
som softupperlim 1.9
som home 0
Motor stth DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis A\
units degrees\
maxSpeed 0.2\
maxAccel 0.2\
maxDecel 0.2\
stepsPerX 125000\
motorHome 11250000\
absEnc 1\
absEncHome 6559259\
cntsPerX -93207]
stth hardlowerlim 85
stth hardupperlim 155
stth softlowerlim 85
stth softupperlim 155
stth home 120
Motor schi DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis E\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -25000\
motorHome 500000\
absEnc 1\
absEncHome 7581355\
cntsPerX -8192]
schi hardlowerlim 70
schi hardupperlim 110
schi softlowerlim 70
schi softupperlim 110
schi home 90
Motor sphi DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis F\
units degrees\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -25000\
motorHome 500000\
absEnc 1\
absEncHome 7934290\
cntsPerX -8192]
sphi hardlowerlim -20
sphi hardupperlim 20
sphi softlowerlim -20
sphi softupperlim 20
sphi home 0
Motor sx DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis D\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -25000\
absEnc 1\
absEncHome 7562793\
cntsPerX -8192]
sx hardlowerlim -20
sx hardupperlim 20
sx softlowerlim -20
sx softupperlim 20
sx home 0
Motor sy DMC2280 [params \
host $dmc2280_controller2(host)\
port $dmc2280_controller2(port)\
axis C\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -25000\
absEnc 1\
absEncHome 7562793\
cntsPerX -8192]
sy hardlowerlim -20
sy hardupperlim 20
sy softlowerlim -20
sy softupperlim 20
sy home 0
Motor ss1u DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis C\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20000\
motorHome 2040518]
ss1u hardlowerlim 0
ss1u hardupperlim 50
ss1u softlowerlim 0
ss1u softupperlim 50
ss1u home 0
Motor ss1d DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis D\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20000\
motorHome 2040518]
ss1d hardlowerlim 0
ss1d hardupperlim 50
ss1d softlowerlim 0
ss1d softupperlim 50
ss1d home 0
Motor ss1l DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis A\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20000\
motorHome 542093]
ss1l hardlowerlim 0
ss1l hardupperlim 50
ss1l softlowerlim 0
ss1l softupperlim 50
ss1l home 0
Motor ss1r DMC2280 [params \
host $dmc2280_controller3(host)\
port $dmc2280_controller3(port)\
axis B\
units mm\
maxSpeed 1\
maxAccel 1\
maxDecel 1\
stepsPerX -20000\
motorHome 542093]
ss1r hardlowerlim 0
ss1r hardupperlim 50
ss1r softlowerlim 0
ss1r softupperlim 50
ss1r home 0
#Motor ss2u DMC2280 [params \
# host $dmc2280_controller4(host)\
# port $dmc2280_controller4(port)\
# axis F?\
# stepsPerX -20000\
# motorHome 2043085]
#ss2u hardlowerlim 0
#ss2u hardupperlim 50
#ss2u softlowerlim 0
#ss2u softupperlim 50
#ss2u home 0
#
#Motor ss2d DMC2280 [params \
# host $dmc2280_controller4(host)\
# port $dmc2280_controller4(port)\
# axis F?\
# stepsPerX -20000\
# motorHome 2043085]
#ss2d hardlowerlim 0
#ss2d hardupperlim 50
#ss2d softlowerlim 0
#ss2d softupperlim 50
#ss2d home 0
#
#Motor ss2l DMC2280 [params \
# host $dmc2280_controller4(host)\
# port $dmc2280_controller4(port)\
# axis F?\
# stepsPerX -20000\
# motorHome 500000]
#ss2l hardlowerlim 0
#ss2l hardupperlim 50
#ss2l softlowerlim 0
#ss2l softupperlim 50
#ss2l home 0
#
#Motor ss2r DMC2280 [params \
# host $dmc2280_controller4(host)\
# port $dmc2280_controller4(port)\
# axis F?\
# stepsPerX -20000\
# motorHome 500000]
#ss2r hardlowerlim 0
#ss2r hardupperlim 50
#ss2r softlowerlim 0
#ss2r softupperlim 50
#ss2r home 0
proc SplitReply { text } {
set l [split $text =]
return [lindex $l 1]
}
# virtual motor d1(h)orizontal (width)
#--------------------------------------------------------
proc widthscript {val} {
set currentWidth [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
set diff [expr $val - $currentWidth]
set newD1R [expr [SplitReply [ss1r]] + $diff/2]
set newD1L [expr [SplitReply [ss1l]] + $diff/2]
return "ss1r=$newD1R,ss1l=$newD1L"
}
publish widthscript user
#-------------------------------------------------------
proc readwidth {} {
return [expr [SplitReply [ss1r]] + [SplitReply [ss1l]]]
}
publish readwidth user
#-------------------------------------------------------
MakeConfigurableMotor ss1hg
ss1hg drivescript widthscript
ss1hg readscript readwidth
# virtual motor d1v(ertical), height
#-----------------------------------------------------
proc heightscript {val} {
set currentWidth [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]]
set diff [expr $val - $currentWidth]
set newD1B [expr [SplitReply [ss1d]] + $diff/2]
set newD1T [expr [SplitReply [ss1u]] + $diff/2]
return "ss1d=$newD1B,ss1u=$newD1T"
}
publish heightscript user
#-------------------------------------------------------
proc readheight {} {
return [expr [SplitReply [ss1u]] + [SplitReply [ss1d]]]
}
publish readheight user
#---------------------------------------------------------
MakeConfigurableMotor ss1vg
ss1vg drivescript heightscript
ss1vg readscript readheight

View File

@@ -0,0 +1,19 @@
#!/bin/bash
# Creates a tarball containing a SICS server distribution for a given instrument.
serverHome=Server
mkdir -p INST_TMP/SICS
rm -fr INST_TMP/SICS/*
mkdir INST_TMP/SICS/log
mkdir INST_TMP/SICS/tmp
mkdir INST_TMP/SICS/$serverHome
mkdir INST_TMP/SICS/data
touch INST_TMP/SICS/data/DataNumber
cp $serverHome/${serverHome}Configuration.tcl INST_TMP/SICS/$serverHome
cp $serverHome/${serverHome}.hdd INST_TMP/SICS/$serverHome
cp ../SICServer INST_TMP/SICS/$serverHome
cp dmc2280.tcl INST_TMP/SICS/$serverHome
cp ../../sycFormat.tcl INST_TMP/SICS/$serverHome
cd INST_TMP
tar -czf ../$serverHome.tgz SICS
cd -
rm -fr INST_TMP