# -------------------------------------------------------------------------- # Initialization script for Triple Axis Instruments using the # Mark Lumsden UB matrix calculus # # Dr. Mark Koennecke, May 2005 #--------------------------------------------------------------------------- # O P T I O N S #-------------------------------------------------------------------------- # simMode # - 0 real instrument # - 1 development simulation # - 2 simserver at instrument #-------------------------------------------------------------------------- set simMode 1 set ts psts230.psi.ch set mupad 0 #---------- Enable this for more startup debugging protocol set all #--------------- define home if {$simMode == 1} { set home $env(HOME)/src/workspace/sics/sim/taspub_sics set scripthome $home set loghome $env(HOME)/src/workspace/sics/sim/tmp set datahome $loghome ServerOption LoggerDir $env(HOME)/src/workspace/sics/test/samenv } else { set home /home/taspub set scripthome $home/taspub_sics set loghome $home/log set datahome $home/data/2010 ServerOption LoggerDir $home/sea/logger } #ServerOption RedirectFile $loghome/stdtas ServerOption ReadTimeOut 10 ServerOption AcceptTimeOut 10 ServerOption ReadUserPasswdTimeout 500000 ServerOption LogFileBaseName $loghome/tasplog ServerOption ServerPort 2911 ServerOption InterruptPort 2917 ServerOption LogFileDir $loghome ServerOption QuieckPort 2108 ServerOption statusfile $datahome/taspubstat.tcl # Telnet Options ServerOption TelnetPort 1301 ServerOption TelWord sicslogin #--------------------------------------------------------------------------- # U S E R S # Here the SICS users are specified # Syntax: SicsUser name password userRightsCode #SicsUser Spy 007 3 #--------------------------------------------------------------------------- SicsUser Spy 007 1 SicsUser Manager Manager 1 SicsUser lnsmanager lnsSICSlns 1 SicsUser user 10lns1 2 SicsUser taspuser 10lns1 2 #--------------------------------------------------------------------------- # M O T O R S if {$simMode == 0} { MakeRS232Controller mota $ts 3002 mota replyterminator 0xd mota timeout 1000 mota send "RMT 1" mota send "ECHO 0" mota send "RMT 1" mota send "ECHO 0" #mota debug 1 Motor A1 el734hp mota 1 # Monochromator Theta a1 interruptmode 1 Motor A2 el734hp mota 9 # Monochromator Two-Theta a2 interruptmode 1 Motor A3 el734hp mota 10 # Sample theta or omega a3 interruptmode 1 Motor A4 el734hp mota 11 # Sample Two-Theta a4 interruptmode 1 Motor MCV el734hp mota 3 # Monochromator curvature vertical Motor SRO el734hp mota 12 # Sample table second ring Motor MTL el734hp mota 4 # Monochromator translation lower Motor MTU el734hp mota 5 # Monochromator Translation upper Motor MGL el734hp mota 7 # Monochromator lower goniometer MakeRS232Controller motb $ts 3003 motb replyterminator 0xd motb timeout 1000 motb send "RMT 1" motb send "ECHO 0" motb send "RMT 1" motb send "ECHO 0" Motor A5 el734hp motb 5 # Analyzer Theta a5 interruptmode 1 Motor A6 el734hp motb 9 # Analyzer Two-Theta a6 interruptmode 1 Motor ACH el734hp motb 6 # Analyzer curvature horizontal Motor STL el734hp motb 1 # Sample lower translation Motor STU el734hp motb 2 # Sample upper translation Motor ATL el734hp motb 7 # Analyzer lower translation Motor ATU el734hp motb 8 # Analyzer upper translation #Motor SGL SIM -17 17 -1 .0 # Monochromator upper goniometer #Motor SGU SIM -17 17 -1 .0 # Monochromator upper goniometer Motor SGL el734hp motb 3 # Sample lower goniometer Motor SGU el734hp motb 4 # Sample upper goniometer Motor AGL el734hp motb 11 # Analyzer lower goniometer #Motor AGU SIM -30. 30. -.1 2. # Analyzer upper goniometer #Motor MSC SIM -30. 30. -.1 2. # Monochromator changer #Motor ASC SIM -30. 30. -.1 2. # Analyzer changer #Motor CSC SIM -30. 30. -.1 2. # Collimator changer mcv precision .1 } else { Motor A1 sim -86.7 6.1 -.1 .1 # Monochromator Theta Motor A2 sim -128.5 -21.65 -.1 .1 # Monochromator Two-Theta Motor A3 sim -179 170 -.1 .1 # Sample theta or omega Motor A4 sim -135 137.9 -.1 .1 # Sample Two-Theta Motor A5 sim -103 103 -.1 .1 # Analyzer Theta Motor A6 sim -138 118 -.1 .1 # Analyzer Two-Theta Motor MCV sim -9 124 -.1 .1 # Monochromator curvature vertical Motor SRO sim -180 351 -.1 .1 # Sample table second ring Motor ACH sim -.5 11 -.1 .1 # Analyzer curvature horizontal Motor MTL sim -17 17 -.1 .1 # Monochromator translation lower Motor MTU sim -17 17 -.1 .1 # Monochromator Translation upper Motor SGL sim -19 19 -1. 0 # Sample lower translation Motor SGU SIM -30. 30. -.1 2. # Sample upper translation Motor ATL sim -17 17 -.1 .1 # Analyzer lower translation Motor ATU sim -17 17 -.1 .1 # Analyzer upper translation Motor MGL sim -10 10 -.1 .1 # Monochromator lower goniometer Motor SGL sim -16 16 -.1 .1 # Sample lower goniometer Motor SGU sim -16 16 -.1 .1 # Sample upper goniometer Motor AGL sim -10 10 -.1 .1 # Analyzer lower goniometer #-------------------------------------------------------------------------- # C U R R E N T S Motor I1 sim -2 2 -0.1 0.1 Motor I2 sim -2 2 -0.1 0.1 Motor I3 sim -2 2 -0.1 0.1 Motor I4 sim -2 2 -0.1 0.1 Motor I5 sim -2 2 -0.1 0.1 Motor I6 sim -2 2 -0.1 0.1 Motor I7 sim -2 2 -0.1 0.1 Motor I8 sim -2 2 -0.1 0.1 } #--------- script for saving motor parameters Publish savemotorpar Mugger proc savemotorpar {dir} { set mot(controllerlist) [list mota motb] set mot(mota) [list 1 9 10 11 3 12 4 5 7] set mot(motb) [list 5 9 6 1 2 7 8 3 4 11] savemotorarray mot $dir clientput "Done saving motor parameters" } #-------------------------------------------------------------------------- # C O U N T E R #-------------------------------------------------------------------------- if {$simMode == 0} { MakeCounter counter el737hp $ts 3004 } else { MakeCounter counter sim -1. } #-------------------------------------------------------------------------- VarMake instrument Text Mugger instrument TASPUB instrument lock VarMake title Text User VarMake user Text User VarMake affiliation Text User VarMake address Text User VarMake email Text User VarMake lastscancommand Text User VarMake output Text User VarMake local Text User VarMake sample Text User #-------------------------------------------------------------------------- # I N S T A L L M U P A D #------------------------------------------------------------------------- if {$mupad == 1} { source $scripthome/mupad.tcl # new mupad commands by M.Z. set mudata(sim) 0 source $scripthome/muco.tcl source $scripthome/stddrive.tcl source $scripthome/slsecho.tcl if {$simMode == 0} { makesctcontroller slssct slsecho taspmagnet:5001 slsecho::makeslsecho i1 0 slssct slsecho::makeslsecho i2 1 slssct slsecho::makeslsecho i3 2 slssct slsecho::makeslsecho i4 3 slssct slsecho::makeslsecho i5 4 slssct slsecho::makeslsecho i6 5 slssct } } #------------------------------------------------------------------------ # Polarisation file VarMake polfile Text User #------------------------------------------------------------------------- # Datafile generation variables VarMake SicsDataPath Text Mugger SicsDataPath "$datahome/" sicsdatapath lock VarMake SicsDataPrefix Text Mugger SicsDataPrefix taspub SicsDataPrefix lock VarMake SicsDataPostFix Text Mugger SicsDataPostFix ".xml" #SicsDataPostFix ".scn" SicsDataPostFix lock MakeDataNumber SicsDataNumber "$datahome/DataNumber" #---------------------------------------------------------------------- # Collimation etc. parameters #---------------------------------------------------------------------- VarMake alf1 Float User VarMake alf2 Float User VarMake alf3 Float User VarMake alf4 Float User VarMake bet1 Float User VarMake bet2 Float User VarMake bet3 Float User VarMake bet4 Float User VarMake ETAM Float User VarMake ETAS Float User VarMake ETAA Float User #----------------------------------------------------------------------- # A helper variable for the status display #----------------------------------------------------------------------- VarMake scaninfo text Internal scaninfo "0,Unknown,1.0,.1" #------------------------------------------------------------------------ # I N S T A L L S P E C I A L T A S C O M M A N D S #------------------------------------------------------------------------ MakeTasUB tasub #--------------------------- TAS scan command MakeScanCommand iscan counter tas.hdd recover.bin MakePeakCenter iscan MakeTasScan iscan tasub #-------------------------- new exe manager definealias do exe alias batchroot exe batchpath #-------------------------- normal drive command MakeDrive #-------------------------- for NeXus MakeNXScript #------------------------------------------------------------------------ # I N S T A L L T A S U B S C R I P T E D C O M M A N D S #------------------------------------------------------------------------ source $scripthome/taspubcom.tcl #-------------------------------------------------------------------------- # stuff for sea if {$simMode == 0} { definealias tem temperature source $home/sea/tcl/remob.tcl connect_sea #------------------------------------------------------------------------- # SPS to look at guide field #------------------------------------------------------------------------ MakeSPS sps $ts 3006 10 } restore sicscron 10 backupCron $datahome/statusHistory