Files
sics/dmcsim.tcl

168 lines
5.0 KiB
Tcl
Executable File

# --------------------------------------------------------------------------
# Initialization script for DMC at SINQ, SICS server.
#
# Dr. Mark Koennecke Juli 1997
#---------------------------------------------------------------------------
# O P T I O N S
set auto_path "/home/DMC/bin"
# first all the server options are set
ServerOption ReadTimeOut 100
# timeout when checking for commands. In the main loop SICS checks for
# pending commands on each connection with the above timeout, has
# PERFORMANCE impact!
ServerOption AcceptTimeOut 100
# timeout when checking for connection req.
# Similar to above, but for connections
ServerOption ReadUserPasswdTimeout 500000
# time to wiat for a user/passwd to be sent from a client. Increase this
# if there is a problem connecting to a server due to network overload\
ServerOption LogFileBaseName "/home/DMC/log/dmclog"
# the path and base name of the internal server logfile to which all
# activity will be logged.
ServerOption ServerPort 3009
# the port number the server is going to listen at. The client MUST know
# this number in order to connect. It is in client.ini
ServerOption StatusFile /home/DMC/log/simstatus.tcl
ServerOption InterruptPort 3010
# The UDP port where the server will wait for Interrupts from clients.
# Obviously, clients wishing to interrupt need to know this number.
#---------------------------------------------------------------------------
# U S E R S
# than the SICS users are specified
# Syntax: SicsUser name password userRightsCode
SicsUser Manager Lucas 1
SicsUser User DMC 2
SicsUser Spy 007 3
#--------------------------------------------------------------------------
# D E V I C E S : M O T O R S
#Motor a4 EL734 LNSP22 4000 5 6
# EL734 motor with parameters: hostname PortNumber Channel MotorID
# Motor nam SIM -20. 20. 5. 1.0
# Simulated motor with name nam, lower limit -20, upper limit +20,
# error ratio 5% and speed 1.0. Speed may be omitted
# Monochromator motors
Motor OmegaM SIM 0 120 1 2.0
Motor TwoThetaM SIM 30 100 1 1.0
Motor MonoX SIM -30 30 1 3.0
Motor MonoY SIM -30 30 1 3.0
Motor CurveM SIM 0 20 1 3.0
Motor MonoPhi SIM -30 30 1 3.0
Motor MonoChi SIM -30 30 1 3.0
# sample Table
Motor Table SIM -180 360 1 2.
Motor TwoThetaD SIM -10 120 1 1.
#--------------------------------------------------------------------------
# Configure Detector
# needs a EL737 or simualation for count control
MakeCounter counter SIM
MakeHM banana SIM
banana configure HistMode Normal
banana configure OverFlowMode Ceil
banana configure Rank 1
banana configure Length 400
banana configure BinWidth 4
banana preset 100.
banana CountMode Timer
#banana configure HMComputer psds04.psi.ch
#banana configure HMPort 2400
#banana configure Counter counter
banana init
#--------------------------------------------------------------------------
# C O N F I G U R E D E V I C E S T O H A L T I N
# I N T E R R U P T
AddHalt OmegaM TwoThetaM MonoX MonoY MonoChi MonoPhi CurveM Table TwoThetaD
#--------------------------------------------------------------------------
# V A R I A B L E S
# now a few general variables are created
# Syntax: VarMake name type access
# type can be one of: Text, Int, Float
#access can be one of: Internal, Mugger, User, Spy
VarMake SicsDataPath Text Internal
SicsDataPath "/home/DMC/sim/"
VarMake DetStepWidth Float Internal
DetStepWidth 0.02
VarMake Instrument Text Internal
Instrument "DMC at SINQ,PSI"
#initialisation
VarMake Title Text User
VarMake User Text User
VarMake Collimation Text User
VarMake Sample Text User
Sample Kellerit
VarMake Temperature Float User
Temperature 21.3897
VarMake comment1 Text User
VarMake comment2 Text User
VarMake comment3 Text User
VarMake SicsDataPrefix Text Internal
SicsDataPrefix dmc
VarMake SicsDataNumber Int Mugger
SicsDataNumber 0
VarMake SicsDataPostFix Text Internal
SicsDataPostFix "97.hdf"
VarMake Adress Text User
VarMake phone Text User
VarMake fax Text User
VarMake email Text User
VarMake sample_mur Float User
# Monochromator variables
# Syntax MakeMono name type OmegaMotor 2ThetaMotor CurveMotor1 CurveMotor2
MakeMono Mono "Ge-111" OmegaM TwoThetaM
Mono DD 3.3537
# Syntax MakeWaveLength name MonochromatorToUse
MakeWaveLength lambda Mono
#--------------------------------------------------------------------------
# P R O C E D U R E S
# create the drive command
MakeDrive
#start RuenBuffer system
MakeRuenBuffer
# aliases
SicsAlias OmegaM A1
SicsAlias TwoThetaM A2
SicsAlias Table A3
SicsAlias TwoThetaD A4
InitDMC
#----- The Logbook stuff
source "/home/DMC/bin/log.tcl"
Publish LogBook User
#------ The count command
source "/home/DMC/bin/count.tcl"
Publish count User
Publish Repeat User
#------ The scan command for Managers
source "/home/DMC/bin/scan.tcl"
Publish scan Mugger