Updated user documentation. MK
This commit is contained in:
@ -18,7 +18,7 @@
|
||||
\begin{huge}
|
||||
SICS--Managers--Manual \\
|
||||
\end{huge}
|
||||
Version 1.0, October,1997\\
|
||||
Version: \today\\
|
||||
Dr. Mark K\"onnecke \\
|
||||
Labor f\"ur Neutronenstreuung\\
|
||||
Paul Scherrer Institut\\
|
||||
|
@ -7,10 +7,22 @@
|
||||
<hr size=4 width="66%">
|
||||
<h3>General structure</h3>
|
||||
<p>
|
||||
SICS is a client server system. The application the user sees is usually some form of client. A client has two tasks: the first is to collect user input and send it to the SICS server who will execute the command. The clients second task is to listen to the the server messages and display them in a readable format. This aoproach has two advantages: clients can reside on machines across the whole network thus enabling remote control from everywhere in the world. The second advantage is that new clients (such as graphical user interface clients) can be written in any feasible language without changes to the server.</p>
|
||||
SICS is a client server system. The application the user sees is
|
||||
usually some form of client. A client has two tasks: the first is to
|
||||
collect user input and send it to the SICS server which then executes
|
||||
the command. The clients second task is to listen to the the server
|
||||
messages and display them in a readable format. This aproach has two
|
||||
advantages: clients can reside on machines across the whole network
|
||||
thus enabling remote control from everywhere in the world. The second
|
||||
advantage is that new clients (such as graphical user interface
|
||||
clients) can be written in any feasible language without changes to
|
||||
the server.</p>
|
||||
|
||||
<h3>SICS Command Syntax </h3>
|
||||
<p>
|
||||
SICS is an object oriented system. This is reflected in the command syntax. SICS objects can be devices such as motors or counters, variables such as wavelength or Title and measurement procedures. Communication with these objects happens by sending messages to the target object. This is very simply done by typing something like: object message par1 par2 .. parn. For example, if we have a motor called A1:<pre>
|
||||
SICS is an object oriented system. This is reflected in the command
|
||||
syntax. SICS objects can be devices such as motors, single
|
||||
counters, histogram memories or other hardware variables such as wavelength or Title and measurement procedures. Communication with these objects happens by sending messages to the target object. This is very simply done by typing something like: object message par1 par2 .. parn. For example, if we have a motor called A1:<pre>
|
||||
A1 list
|
||||
</pre>
|
||||
will print a parameter listing for the motor A1. In this example no parameters were needed. There exist a number of one-word commands as well. For
|
||||
@ -27,7 +39,10 @@ convention.
|
||||
|
||||
<h3>Authorisation</h3>
|
||||
<p>
|
||||
A client server system is potentially open to unauthorised hackers which might mess up the instrument and your valuable measurements. A known problem in instrument control is that less knowledgeable user accidentally change instrument adjustments which should better be left fixed. In order to solve these two problems SICS supports authorisation on a very fine level. As a user you have to specify a username and password in order to able to access SICS. Some clients already do this for you automatically. SICS support four levels of access to an instrument:<ul>
|
||||
A client server system is potentially open to unauthorised hackers
|
||||
who might mess up the instrument and your valuable measurements. A
|
||||
known problem in instrument control is that less knowledgeable user
|
||||
accidentally change instrument parameters which ought to be left fixed. In order to solve these two problems SICS supports authorisation on a very fine level. As a user you have to specify a username and password in order to able to access SICS. Some clients already do this for you automatically. SICS support four levels of access to an instrument:<ul>
|
||||
<li> <b> Spy </b> may look at everything, request any value, but may not actually change anything. No damage potential here.
|
||||
<li> <b> User </b> is privileged to perform a certain amount of operations necessary to run the instrument.
|
||||
<li> <b> Manager </b> has the permission to mess with almost everything. A very dangerous person.
|
||||
@ -49,8 +64,8 @@ at the Unix prompt. Before this program is ready to collaborate with you you
|
||||
have to connect it to an instrument using the options in the connect
|
||||
pulldown menu. The screen is roughly divided in three areas: The top area
|
||||
shows all input to and output from the server. The middle area shows the
|
||||
command history. At the lower end is a text entry field which allows to type
|
||||
commands to the SICS server. For more information about this client consult
|
||||
command history. At the lower end is a text entry field which allows you to type
|
||||
commands to be sent to the SICS server. For more information about this client consult
|
||||
the online help of this application.
|
||||
</p>
|
||||
</body>
|
||||
|
@ -5,7 +5,18 @@
|
||||
<body>
|
||||
<h2>Rünbuffer Commands</h2>
|
||||
<p>
|
||||
LNS scientists have got used to using Rünbuffers for instrument control. A Rünbuffer is an array of SICS commands which typically represent a measurement. This Rünbuffer can be edited at run time. This is very similar to a macro. In contrast to a macro only SICS commands are allowed in Rünbuffers. When done with editing the Rünbuffer it can be entered in a Rünlist. This is a stack of Rünbuffers which get executed one by one. While this is happening it is possible (from another client) to modify the Rünlist and edit and add additional Rünbuffer on top of the stack. This allows for almost infinite measurement and gives more control than a static batch file. In order to cater for this scheme three commands have been defined:</p>
|
||||
LNS scientists have got used to using Rünbuffers for instrument
|
||||
control. A Rünbuffer is an array of SICS commands which
|
||||
typically represent a measurement. This Rünbuffer can be edited
|
||||
at run time. This is very similar to a macro. In contrast to a macro
|
||||
only SICS commands are allowed in Rünbuffers. When done with
|
||||
editing the Rünbuffer it can be entered in a Rünlist. This
|
||||
is a stack of Rünbuffers which get executed one by one. While
|
||||
this is happening it is possible (from another client) to modify the
|
||||
Rünlist and edit and add additional Rünbuffers on top of
|
||||
the stack. This allows for almost infinite measurement and gives more
|
||||
control than a static batch file. In order to cater for this scheme
|
||||
three commands have been defined:</p>
|
||||
<p>
|
||||
The <b> Buf </b> object is responsible for creating and deleting Rünbuffers. The syntax is:<ul>
|
||||
<li> <b> Buf new name </b> creates a new empty Rünbuffer with the name name. name will be installed as a SICS object afterwards.
|
||||
@ -14,7 +25,8 @@
|
||||
</ul>
|
||||
</p>
|
||||
<p>
|
||||
After creation, the Rünbuffer is accessible by his name. It than understands the commands:<ul>
|
||||
After creation, the Rünbuffer is accessible by his name. It
|
||||
then understands the commands:<ul>
|
||||
<li> <b> NAME append what shall we do with a drunken sailor </b> will add all text after append as a new line at the end of the Rünbuffer.
|
||||
<li> <b> NAME print </b> will list the contents of the Rünbuffer.
|
||||
<li> <b> NAME del iLine </b> will delete line number iLine from the Rünbuffer.
|
||||
@ -37,3 +49,5 @@
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
<body>
|
||||
<h2>Configuration Commands</h2>
|
||||
<p>
|
||||
SICS allows to change the user rights of the current client server connection, control the amount of output a client receives and to specify additional logfiles where output will be placed. All this is accessed through the following commands:</p>
|
||||
SICS has a command for changing the user rights of the current client server connection, control the amount of output a client receives and to specify additional logfiles where output will be placed. All this is accessed through the following commands:</p>
|
||||
<p>
|
||||
The SICS server logs all its activities to a logfile, regardless of what the user requested. This logfile is mainly intended to help in server debugging. However, clients may register an interest in certain server events and can have them displayed. This facility is accessed via the <b> GetLog </b> command. It needs to be stressed that this log receives messages from <b> all </b> active clients. GetLog understands the following messages:<ul>
|
||||
<li> <b> GetLog All </b> achieves that all output to the server logfile is also written to the client which issued this command.
|
||||
@ -23,7 +23,7 @@
|
||||
</ul>
|
||||
</p>
|
||||
<p>
|
||||
<b> config </b> allows to configure various aspects of the current client server connection. Basically three things can be manipulated: The connections output class, the user rights associated with it, and output files.</p>
|
||||
The <b> config </b> command configures various aspects of the current client server connection. Basically three things can be manipulated: The connections output class, the user rights associated with it, and output files.</p>
|
||||
<p>
|
||||
<ul>
|
||||
<li>The command <b> config OutCode val </b> sets the output code for the connection. By default all output is sent to the client. But a graphical user interface client might want to restrict message to only those delivering requested values and error messages and suppressing anything else. In order to achieve this, this command is provided. Possible values Values for val are Internal,Command, HWError,InError,Status, Error, Value. This list is hierarchical. For example specifying InError for val lets the client receive all messages tagged InError, Status, Error and Value, but not HWError, Command and Internal messages.
|
||||
|
@ -6,13 +6,14 @@
|
||||
<h1>SICS counter handling</h1>
|
||||
<hr size=4 width="66%">
|
||||
<p>
|
||||
This section deals with the SICS interface to single counters.
|
||||
Where the SICS counter concept may include several monitors per
|
||||
counter. A counter is, again, a named object which takes commands.
|
||||
A word or two has to be lost about the SICS handling of preset values for counters.
|
||||
Two modes of operation have to be distinguished: counting until a timer has passed,
|
||||
for example: count for 20 seconds. This mode is called timer mode. In the other
|
||||
mode, counting is continued until a control monitor has reached a certain
|
||||
A counter in SICS is a controller which operates single neutron
|
||||
counting tubes and monitors.
|
||||
|
||||
A counter can operate in one out of two modes: counting until a timer has
|
||||
passed,
|
||||
for example: count for 20 seconds. Counting in this context means that the noutrons coming in during these 20 seconds are summed together. This mode is called timer mode. In the other
|
||||
mode, counting is continued until a specified neutron monitor has
|
||||
reached a certain
|
||||
preset value. This mode is called Monitor mode. The preset values in Monitor
|
||||
mode are usually very large. Therefore the counter has an exponent data variable.
|
||||
Values given as preset are effectively 10 to the power of this exponent. For
|
||||
@ -20,7 +21,9 @@ instance if the preset is 25 and the exponent is 6, then counting will be
|
||||
continued until the monitor has reached 25 million. Note, that this scheme with
|
||||
the exponent is only in operation in Monitor mode.
|
||||
|
||||
The commands understood are:<ul>
|
||||
Again, in SICS the counter is an object which understands a set of
|
||||
commands:
|
||||
<ul>
|
||||
<li> <b> countername SetPreset val </b> sets the counting preset to val.
|
||||
<li> <b> countername GetPreset </b> prints the current preset value.
|
||||
<li> <b> countername preset val</b> With a parameter sets the preset, without inquires the preset value. This is a duplicate of getpreset and setpreset which has been provided for consistency with other commands.
|
||||
@ -53,6 +56,12 @@ paused.
|
||||
monitor to use as control monitor in monitor mode, it allows to choose
|
||||
the monitor used for pausing the count when the count rate is below the
|
||||
threshold (Who on earth designed this?)
|
||||
<li><b>countername send arg1 arg2 arg3 ...</b> sends everything behind
|
||||
send to the counter controller and returns the reply of the counter
|
||||
box. The command set to use after send is the command set documented
|
||||
for the counter box elsewhere. Through this feature it is possible to
|
||||
diretclly configure certain variables of the counter controller from
|
||||
within SICS.
|
||||
</ul>
|
||||
</p>
|
||||
</body>
|
||||
|
@ -1,9 +1,9 @@
|
||||
<html>
|
||||
<head>
|
||||
<title> DMC-User Manual </title>
|
||||
<title> DMC and HRPT Reference Manual </title>
|
||||
</head>
|
||||
<body>
|
||||
<h1><center>DMC-User Manual</center></h1>
|
||||
<h1><center>DMC and HRPT Reference Manual</center></h1>
|
||||
<hr size=4 width="66%">
|
||||
</p>
|
||||
<p>
|
||||
@ -22,7 +22,8 @@ common to all instruments.
|
||||
<LI> Commands for handling <a href = dmchw.htm>hardware devices </a>.
|
||||
<LI> A list of <a href=dmcdev.htm>DMC</a> specific commands and a list
|
||||
of hardware installed at DMC.
|
||||
<LI> Commands for handling <a href=samenv.htm>sample</a> environement
|
||||
<li> A list of <a href=hrptdev.htm>HRPT</a> specific motors.
|
||||
<LI> Commands for handling <a href=samenv.htm>sample</a> environment
|
||||
devices.
|
||||
<LI>Some <a href = trouble.htm>troubleshooting</a> hints.
|
||||
</UL>
|
||||
@ -43,7 +44,7 @@ Local Contacts:
|
||||
<li>DMC: <a href="http://www1.psi.ch/www_lns_hn/lns/adr/LNS_lkeller.html">
|
||||
Lukas Keller</a>.
|
||||
<li>HRPT: <a href="http://www1.psi.ch/www_lns_hn/lns/adr/LNS_pfischer.html">
|
||||
Peter Fischer</a>. HRPT is not yet operational!
|
||||
Peter Fischer</a>. HRPT is finally operational.
|
||||
</ul>
|
||||
</p>
|
||||
<hr size=4 width="66%">
|
||||
@ -64,7 +65,7 @@ Laboratory for Neutron Scattering</a> home page.
|
||||
</p>
|
||||
<hr size=4 width="66%">
|
||||
<p>
|
||||
Last updated: 6-may-1999, <a href="mailto:Mark.Koennecke@psi.ch">Mark Könnecke</a>
|
||||
Last updated: 11-feb-2000, <a href="mailto:Mark.Koennecke@psi.ch">Mark Könnecke</a>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,11 +1,11 @@
|
||||
<html>
|
||||
<head>
|
||||
<title> DMC-specific commands and device list </title>
|
||||
<title> DMC and HRPT specific commands and devices</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>DMC-specific command and device list</h1>
|
||||
<h1>DMC and HRPT specific commands and devices</h1>
|
||||
<hr size=4 width="66%">
|
||||
<H2>DMC specific commands</H2>
|
||||
<H2>DMC and HRPT specific commands</H2>
|
||||
<P>
|
||||
<DL>
|
||||
<DT>StoreData
|
||||
@ -56,7 +56,7 @@ memory object. After the count, StoreData will be automatically called.
|
||||
</DL>
|
||||
</p>
|
||||
|
||||
<h2>Other DMC devices</h2>
|
||||
<h2>Other DMC and HRPT devices</h2>
|
||||
<p>
|
||||
<DL>
|
||||
<DT>banana
|
||||
@ -66,7 +66,7 @@ memory object. After the count, StoreData will be automatically called.
|
||||
</DL>
|
||||
</p>
|
||||
|
||||
<h2>DMC Variables</h2>
|
||||
<h2>DMC and HRPT Variables</h2>
|
||||
<p>
|
||||
<DL>
|
||||
<DT>Instrument
|
||||
|
@ -1,10 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<title> DMC Command Summary </title>
|
||||
<title> DMC and HRPT Command Summary </title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>DMC Command Summary</h1>
|
||||
<h1>DMC and HRPT Command Summary</h1>
|
||||
<hr size=4 width="66%">
|
||||
<p>
|
||||
<h2>Most Used Commands</h2>
|
||||
@ -35,7 +35,8 @@ move. Add 10 extra levels of care to the above when doing this.
|
||||
<DD> Runs motors.
|
||||
</DL>
|
||||
Known motors are: OmegaA, A1, TwoThetaM, A2, MonoX, MonoY, MonoChi, MonoPhi,
|
||||
CurveM, Table, A3, TwoThetaD, A4.
|
||||
CurveM, Table, A3, TwoThetaD, A4 at DMC, for HRPT see the <a
|
||||
href="hrptdev.htm"> HRPT motor list</a>.
|
||||
</p>
|
||||
|
||||
<h2> Counting </h2>
|
||||
@ -163,3 +164,8 @@ are:
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -7,10 +7,10 @@
|
||||
<p>
|
||||
Many objects in SICS are <b> drivable </b>. This means they can run to a new value. Obvious examples are motors. Less obvious examples include composite adjustments such as setting a wavelength or an energy. This class of objects can be operated by the <b> drive, run, Success </b> family of commands. These commands cater for blocking and non-blocking modes of operation.</p>
|
||||
<p>
|
||||
<b> run var newval var newval ... </b> can be called with one to n pairs of object new value pairs. This command will set the variables in motion and return to the command prompt without waiting for the requested operations to finish. This feature allows to do things to the instrument while perhaps a slow device is running into position.</p>
|
||||
<b> run var newval var newval ... </b> can be called with one to n pairs of object new value pairs. This command will set the variables in motion and return to the command prompt without waiting for the requested operations to finish. This feature allows to operate other devices of the instrument while perhaps a slow device is still running into position.</p>
|
||||
<p>
|
||||
<b> Success </b> waits and blocks the command connection until all pending operations have finished (or an interrupt occured). </p>
|
||||
<p>
|
||||
<b> drive var newval var newval ... </b> can be called with one to n pairs of object new value pairs. This command will set the variables in motion and wait until the driving has finished. A drive can be seen as a sequence of a run command as stated above immediatetly followed by a Success command.</p>
|
||||
<b> drive var newval var newval ... </b> can be called with one to n pairs of object new value pairs. This command will set the variables in motion and wait until the driving has finished. A drive can be seen as a sequence of a run command as stated above immediatly followed by a Success command.</p>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -52,6 +52,7 @@ devices through the network.
|
||||
|
||||
\label{f1}
|
||||
|
||||
SICS means SINQ Instrument Control System.
|
||||
SICS is a client server system. This means there are at least two programs
|
||||
necessary to run the experiment. The first
|
||||
is the
|
||||
@ -59,23 +60,27 @@ SICServer which does the actual instrument control work. A user rarely needs
|
||||
to bother about this server program as it is meant to run all the time.
|
||||
See instructions below if things go wrong.
|
||||
|
||||
Then there are one to many client programs which interact with the
|
||||
Then there are client programs which interact with the
|
||||
instrument control server. These client programs implement the status
|
||||
displays and a command line application which allows to influence the
|
||||
course of the experiment. Graphical User Interfaces may be added at a
|
||||
later time.
|
||||
displays and a command line application which forwards commands to the
|
||||
SICS server and displays its response. Graphical User Interfaces may
|
||||
be added at a later time.
|
||||
The user has only to deal with
|
||||
these SICS client programs. SICS Clients and the SICServer communicate
|
||||
with each other through TCP/IP sockets.
|
||||
with each other through the TCP/IP network.
|
||||
|
||||
Currently five SICS clients are available:
|
||||
\begin{itemize}
|
||||
\item A command line control client which allows to control the measurement.
|
||||
\item A status display for DMC.
|
||||
\item A command line control client for sending commands to the SICS
|
||||
server and displaying its repsonses.
|
||||
\item A status display for the powder diffractometers DMC and HRPT.
|
||||
\item A status display for TOPSI.
|
||||
\item A status display for SANS.
|
||||
\item A status display for FOCUS.
|
||||
\item A SICS variable watcher.
|
||||
\item A status display for AMOR.
|
||||
\item A SICS variable watcher. This application graphically logs the
|
||||
change of a SICS variable over time. Useful for monitoring for
|
||||
instance temperature controllers.
|
||||
\end{itemize}
|
||||
|
||||
|
||||
@ -103,6 +108,7 @@ following commands at the command prompt:
|
||||
\item[topsistatus \&] for the TOPSI status display.
|
||||
\item[sansstatus \&] for the SANS status display.
|
||||
\item[focustatus] for the FOCUS status display.
|
||||
\item[amor] for the AMOR status display and control application.
|
||||
\item[varwatch \&] for the variable watcher.
|
||||
\end{description}
|
||||
On a PC you may find icons for starting the different programs on the
|
||||
@ -140,11 +146,13 @@ the SICS server log in as the instrument user at the instrument computer and
|
||||
invoke the apropriate command to start the server. These are:
|
||||
\begin{description}
|
||||
\item[DMC] Computer = lnsa05,User = DMC
|
||||
\item[TOPSI] Computer = lnsa03,User = TOPSI
|
||||
\item[SANS] Computer = lnsa07,User = SANS
|
||||
\item[TRICS] Computer = lnsa12, User = TRICS
|
||||
\item[TOPSI] Computer = lnsa07,User = TOPSI
|
||||
\item[SANS] Computer = lnsa10,User = SANS
|
||||
\item[TRICS] Computer = lnsa13, User = TRICS
|
||||
\item[HRPT] Computer = lnsa11, User = HRPT
|
||||
\item[FOCUS] Computer = lnsa13, User = FOCUS
|
||||
\item[FOCUS] Computer = lnsa12, User = FOCUS
|
||||
\item[AMOR] Computer = lnsa14, User = AMOR
|
||||
\item[DRUECHAL] Computer = lnsa16, User = DRUECHAL
|
||||
\end{description}
|
||||
For starting the SICS server type {\bf startsics}. This is a shell script
|
||||
which will starts all necessary server programs. This script works only on
|
||||
@ -161,11 +169,11 @@ SICS (cf.\ Section~\ref{f19}).
|
||||
|
||||
Many objects in SICS are {\bf drivable }. This means they can run to a new value. Obvious examples are motors. Less obvious examples include composite adjustments such as setting a wavelength or an energy. This class of objects can be operated by the {\bf drive, run, Success } family of commands. These commands cater for blocking and non-blocking modes of operation.
|
||||
|
||||
{\bf run var newval var newval ... } can be called with one to n pairs of object new value pairs. This command will set the variables in motion and return to the command prompt without waiting for the requested operations to finish. This feature allows to do things to the instrument while perhaps a slow device is running into position.
|
||||
{\bf run var newval var newval ... } can be called with one to n pairs of object new value pairs. This command will set the variables in motion and return to the command prompt without waiting for the requested operations to finish. This feature allows to operate other devices of the instrument while perhaps a slow device is still running into position.
|
||||
|
||||
{\bf Success } waits and blocks the command connection until all pending operations have finished (or an interrupt occured).
|
||||
|
||||
{\bf drive var newval var newval ... } can be called with one to n pairs of object new value pairs. This command will set the variables in motion and wait until the driving has finished. A drive can be seen as a sequence of a run command as stated above immediatetly followed by a Success command.
|
||||
{\bf drive var newval var newval ... } can be called with one to n pairs of object new value pairs. This command will set the variables in motion and wait until the driving has finished. A drive can be seen as a sequence of a run command as stated above immediatly followed by a Success command.
|
||||
% html: End of file: `drive.htm'
|
||||
% html: Beginning of file: `fomo.htm'
|
||||
|
||||
@ -314,16 +322,17 @@ commandlog (cf.\ Section~\ref{f22}) command.
|
||||
|
||||
\label{f21}
|
||||
|
||||
Some users wish like to have all the input typed to SICS and all responses
|
||||
Some users like to have all the input typed to SICS and responses
|
||||
collected in a file for further review. This is implemented via the LogBook
|
||||
command. LogBook understands the following syntax:
|
||||
command. LogBook is actually a wrapper around the config file command.
|
||||
LogBook understands the following syntax:
|
||||
\begin{description}
|
||||
\item[ LogBook] alone prints the name of the current logfile and the status of event
|
||||
logging.
|
||||
\item[ LogBook file filename] This command sets the filename to which output will be printed.
|
||||
Please note that this new filename will only be in effect after restarting
|
||||
logging.
|
||||
\item[ LogBook on] This command turns loggin on. All commands and all answers will be
|
||||
\item[ LogBook on] This command turns logging on. All commands and all answers will be
|
||||
written to the file defined with the command described above. Please note,
|
||||
that this command will overwrite an existing file with the same name.
|
||||
\item[ LogBook off] This command closes the logfile and ends logging.
|
||||
@ -378,11 +387,16 @@ facility is processing batch files.
|
||||
|
||||
\label{f23}
|
||||
|
||||
SICS has a built in macro facility. This macro facility is aimed at instrument managers and users alike. Instrument managers may provide customised measurement procedures in this language, users may write batch files in this language. The macro language is John Ousterhout's Tool Command Language (TCL). Tcl has control constructs, variables of its own, loop constructs, associative arrays and procedures. Tcl is well documented by several books and online tutorials, therefore no details on Tcl will be given here. All SICS commands are available in the macro language. Some potentially harmful Tcl commands have been deleted from the standard Tcl interpreter. These are: exec, source, puts, vwait, exit,gets and socket. The following commands allow access to the macro facility:
|
||||
SICS has a built in macro facility. This macro facility is aimed at instrument managers and users alike. Instrument managers may provide customised measurement procedures in this language, users may write batch files in this language. The macro language is John Ousterhout's Tool Command Language (TCL). Tcl has control constructs, variables of its own, loop constructs, associative arrays and procedures. Tcl is well documented by several books and online tutorials, therefore no details on Tcl will be given here. All SICS commands are available in the macro language. Some potentially harmful Tcl commands have been deleted from the standard Tcl interpreter. These are: exec, source, puts, vwait, exit,gets and socket. A macro or batch file can be executed with the command:
|
||||
|
||||
{\bf FileEval name } tries to open the file name and executes the script in this file. Please note that the server is configured via such a file.
|
||||
{\bf FileEval name } tries to open the file name and executes the script in this file.
|
||||
Then there are some special commands which can be used within macro-sripts:
|
||||
|
||||
{\bf ClientPut sometext1 ... } writes everything after ClientPut to the client which started the script. Useful for output to a client from macro scripts.
|
||||
{\bf ClientPut sometext1 ... } writes everything after ClientPut to
|
||||
the client which started the script. This is needed as SICS supresses
|
||||
the output from intermediate commands in scripts. Except error
|
||||
messages and warnings. With clientput this scheme can be circumvented
|
||||
and data be printed from within scripts.
|
||||
|
||||
{\bf SICSType object } allows to query the type of the object specified by object. Possible return values are
|
||||
\begin{itemize}
|
||||
@ -395,11 +409,13 @@ facility is processing batch files.
|
||||
|
||||
{\bf SICSbounds var newval } checks if the new value newval lies within the limits for varaible var. Returns an error or OK depending on the result of the test.
|
||||
|
||||
{\bf SICSStatus var } SICS devices such as counters or motor may be started and left running while the program is free to do something else. This command allows to enquire the status of such a running device. Return values are internal SICS integer codes. This command is only of use for SICS programmers.
|
||||
{\bf SICSStatus var } SICS devices such as counters or motor may be
|
||||
started and left running while the program is free to do something
|
||||
else. This command inquires the status of such a running device. Return values are internal SICS integer codes. This command is only of use for SICS programmers.
|
||||
|
||||
{\bf SetStatus newval } allows to set the SICS status to one of: Eager, UserWait, Count, NoBeam, Driving, Running, Scanning, Batch Hatl or Dead. This command is only available in macros.
|
||||
{\bf SetStatus newval } sets the SICS status to one of: Eager, UserWait, Count, NoBeam, Driving, Running, Scanning, Batch Hatl or Dead. This command is only available in macros.
|
||||
|
||||
{\bf SetInt newval, GetInt } allow for the manipulation of interrupts from macro scripts. Not recommended! Possible return values or new values are: continue, abortop, abortscan, abortbatch, halt, free, end. This command is only permitted in macros. Should only be used by SICS programmers.
|
||||
{\bf SetInt newval, GetInt } sets SICS interrupts from macro scripts. Not recommended! Possible return values or new values are: continue, abortop, abortscan, abortbatch, halt, free, end. This command is only permitted in macros. Should only be used by SICS programmers.
|
||||
% html: End of file: `macro.htm'
|
||||
% html: Beginning of file: `buffer.htm'
|
||||
|
||||
@ -407,7 +423,18 @@ facility is processing batch files.
|
||||
|
||||
\label{f24}
|
||||
|
||||
LNS scientists have got used to using R\"unbuffers for instrument control. A R\"unbuffer is an array of SICS commands which typically represent a measurement. This R\"unbuffer can be edited at run time. This is very similar to a macro. In contrast to a macro only SICS commands are allowed in R\"unbuffers. When done with editing the R\"unbuffer it can be entered in a R\"unlist. This is a stack of R\"unbuffers which get executed one by one. While this is happening it is possible (from another client) to modify the R\"unlist and edit and add additional R\"unbuffer on top of the stack. This allows for almost infinite measurement and gives more control than a static batch file. In order to cater for this scheme three commands have been defined:
|
||||
LNS scientists have got used to using R\"unbuffers for instrument
|
||||
control. A R\"unbuffer is an array of SICS commands which
|
||||
typically represent a measurement. This R\"unbuffer can be edited
|
||||
at run time. This is very similar to a macro. In contrast to a macro
|
||||
only SICS commands are allowed in R\"unbuffers. When done with
|
||||
editing the R\"unbuffer it can be entered in a R\"unlist. This
|
||||
is a stack of R\"unbuffers which get executed one by one. While
|
||||
this is happening it is possible (from another client) to modify the
|
||||
R\"unlist and edit and add additional R\"unbuffers on top of
|
||||
the stack. This allows for almost infinite measurement and gives more
|
||||
control than a static batch file. In order to cater for this scheme
|
||||
three commands have been defined:
|
||||
|
||||
The {\bf Buf } object is responsible for creating and deleting R\"unbuffers. The syntax is:
|
||||
\begin{itemize}
|
||||
@ -416,7 +443,8 @@ facility is processing batch files.
|
||||
\item {\bf Buf del name } deletes the R\"unbuffer name.
|
||||
\end{itemize}
|
||||
|
||||
After creation, the R\"unbuffer is accessible by his name. It than understands the commands:
|
||||
After creation, the R\"unbuffer is accessible by his name. It
|
||||
then understands the commands:
|
||||
\begin{itemize}
|
||||
\item {\bf NAME append what shall we do with a drunken sailor } will add all text after append as a new line at the end of the R\"unbuffer.
|
||||
\item {\bf NAME print } will list the contents of the R\"unbuffer.
|
||||
@ -446,9 +474,10 @@ facility is processing batch files.
|
||||
\label{f8}
|
||||
|
||||
In SICS any client can issue commands to the SICS server. This
|
||||
is a potential cause for trouble with users issuing conflicting
|
||||
is a potential source of trouble with users possibly issuing conflicting
|
||||
commands without knowing. In order to deal with this problem a
|
||||
token mechanism has been developed. A connection can grab a
|
||||
{\tt{}"{}}token{\tt{}"{}} mechanism has been developed. In this context the token is a
|
||||
symbol for the control of an instrument. A connection can grab the
|
||||
token and then has full control over the SICS server. Any other
|
||||
connection will not be privileged to do anything useful, except
|
||||
looking at things. A token can be released manully with a
|
||||
@ -545,8 +574,8 @@ reasonable default parameters.
|
||||
|
||||
In the SICS model
|
||||
a sample environment device has in principle two modes of operation. The first
|
||||
is the drive modus. The device is monitored in this modus when a new value for it
|
||||
has been requested. The second modus is the monitor modus. This modus is entered
|
||||
is the drive mode. The device is monitored in this mode when a new value for it
|
||||
has been requested. The second mode is the monitor mode. This mode is entered
|
||||
when the device has reached its target value. After that, the device must be
|
||||
continously monitored throughout any measurement. This is done through the
|
||||
environment monitor or {\bf emon}. The emon understands a few commands of its
|
||||
@ -569,10 +598,10 @@ section discussing the special devices known to the system.
|
||||
A \label{f10:error}sample environment device may fail to stay at its preset value during a
|
||||
measurement. This condition will usually be detected by the emon. The question
|
||||
is how to deal with this problem. The requirements for this kind of error
|
||||
handling are quite differntiated. The SICS model therefore implements several
|
||||
handling are quite different. The SICS model therefore implements several
|
||||
strategies for handling sample environment device failure handling.
|
||||
The strategy to use is selected via variable which can be set by the user for
|
||||
any sample environment device separatetly. Additional error handling strategies
|
||||
The strategy to use is selected via a variable which can be set by the user for
|
||||
any sample environment device separately. Additional error handling strategies
|
||||
can be added with a modest amount of programming. The error handling strategies currently
|
||||
implemented are:
|
||||
\begin{description}
|
||||
@ -625,8 +654,12 @@ out of tolerance errors on that device no longer be handled.
|
||||
|
||||
\label{f10:all}
|
||||
|
||||
Once the evfactory has been run successfully the controller is
|
||||
installed as an object in SICS. It is accessible as an object then
|
||||
under the name specified in the evfactory command. All environemnt
|
||||
object understand the common commands given below.
|
||||
Please note that each command discussed below MUST be prepended with the name
|
||||
of the environment device as configured in EVFavtory!
|
||||
of the environment device as configured in EVFactory!
|
||||
|
||||
The general commands understood by any environment controller can be subdivided
|
||||
further into parameter commands and real commands. The parameter commands just
|
||||
@ -635,7 +668,8 @@ set if a parameter is specified. For example:
|
||||
\begin{quotation}
|
||||
Temperature Tolerance\end{quotation}
|
||||
prints the value of the variable Tolerance for the environment controller
|
||||
Temperature.
|
||||
Temperature. This is in the same units as the controller operates,
|
||||
i. e. for a temperature controller Kelvin.
|
||||
\begin{quotation}
|
||||
Temperature Tolerance 2.0\end{quotation}
|
||||
sets the parameter Tolerance for Temperature to 2.0. Parameters known to ANY
|
||||
@ -679,31 +713,35 @@ Safe error handling is set.
|
||||
Additionally the following commands are understood:
|
||||
\begin{description}
|
||||
\item[send par par ...] Sends everything after send directly to the controller and return its
|
||||
response. This is a general purpose command which allows to manipulate controllers
|
||||
response. This is a general purpose command for manipulating controllers
|
||||
and controller parameters directly. The protocoll for these commands is
|
||||
documented in the documentation for each controller. Ordinary users should
|
||||
not tamper with this. This facility is meant for setting up the device with
|
||||
calibrartion tables etc.
|
||||
calibration tables etc.
|
||||
\item[ list] lists all the parameters for this controller.
|
||||
\item[ no command, only name.] When only the name of the device is typed it will return its
|
||||
current value.
|
||||
\item[ name val ] will drive the device to the new value val. Please note that the same
|
||||
can be achieved by using the drive command.
|
||||
\item[ name log on] Switches logging on. If logging is on, at each cycle in the emon the
|
||||
\item[ name log on] Switches logging on. If logging is on, at each cycle in the
|
||||
{\bf emon}
|
||||
the
|
||||
current value of the environment variable will be recorded together with a
|
||||
time stamp. Be careful about this, for each log point a bit of memory is
|
||||
allocated. At some time the memory is exhausted! Log clear frees it again
|
||||
and log frequency (both below) allows to set the logging time intervall.
|
||||
allocated. At some time the memory is exhausted! {\bf Log clear}
|
||||
frees
|
||||
it again
|
||||
and {\bf log frequency} (both below)
|
||||
allows to set the logging time intervall.
|
||||
\item[ name log off] Switches logging off.
|
||||
\item[name log clear] Clears all recorded time stamps and values.
|
||||
\item[name log gettime] This command retrieves a list of all recorded time stamps.
|
||||
\item[name log getval] This command retrieves all recorded values.
|
||||
\item[name log getmean] Calculates the mean value and the standard deviation for all logged
|
||||
values and prints it.
|
||||
values and prints them.
|
||||
\item[name log frequency val] With a parameter sets, without a parameter requests the logging intervall
|
||||
for the log created. This parameter specifies the time intervall in seconds
|
||||
between log records. The default is 5 minutes. A value of 0 means a record any
|
||||
cycle of the SICServer.
|
||||
between log records. The default is 300 seconds.
|
||||
\item[name log file filename] Starts logging of value data to the file filename. All normal logging to
|
||||
memory will be
|
||||
disabled. Logging will happen any 5 minutes initially. The logging frequency
|
||||
@ -725,8 +763,9 @@ that special device. All of the general commands listed above work as well!
|
||||
|
||||
\label{f10:itc4}
|
||||
|
||||
These temperature controller are fairly popular at SINQ. It is manufactured by
|
||||
Oxford Instruments. At the back side of this controller there is a RS-232
|
||||
These temperature controller are fairly popular at SINQ. They are
|
||||
manufactured by
|
||||
Oxford Instruments. At the back of this controller is a RS-232
|
||||
socket which must be connected to a Macintosh computer running the SINQ
|
||||
terminal server program via a serial cable. Please make sure with a different
|
||||
Macintosh or a PC that the serial line is OK and the ITC-4 responding before
|
||||
@ -743,9 +782,9 @@ ITC-4 is expected to be connected to the serial port channel at the
|
||||
Macintosh computer computer running the SINQ terminal server program
|
||||
listening at port port. For example:
|
||||
\begin{quotation}
|
||||
EVFactory new Temp ITC4 lnsp22.psi.ch 4000 6\end{quotation}
|
||||
connects Temp to the Macintosh named lnsp22, serial port 5 (6 above is no typo!),
|
||||
listening at port 4000.
|
||||
EVFactory new Temp ITC4 lnsp22.psi.ch 4000 7\end{quotation}
|
||||
connects Temp to the Macintosh named lnsp22, serial port 6
|
||||
(7 above is no typo!), listening at port 4000.
|
||||
|
||||
\paragraph{ITC-4 Additional Parameters}
|
||||
|
||||
@ -754,14 +793,14 @@ The ITC-4 has a few more parameter commands:
|
||||
\begin{description}
|
||||
\item[timeout] Is the timeout for the Macintosh terminal server program waiting for
|
||||
responses from the ITC-4. Increase this parameter if error messages
|
||||
containg ?TMO creeping up.
|
||||
containg ?TMO appear.
|
||||
\item[ sensor] Sets the sensor number to be used for reading temperature.
|
||||
\item[ control] Sets the control sensor for the ITC-4. This sensor will be used
|
||||
internally for regulating the ITC-4.
|
||||
\item[divisor] The ITC4 does not understand floating point numbers, the ITC-503 does.
|
||||
In order to make ITC4's read and write temperatures correctly floating point
|
||||
values must be multiplied or divided with a magnitude of 10. This parameter
|
||||
determines the appropriate value for the sensor. Is usually 10 for a sensor
|
||||
determines the appropriate value for the sensor. It is usually 10 for a sensor
|
||||
with one value behind the comma or 100 for a sensor with two values after
|
||||
the comma.
|
||||
\item[multiplicator] The same meaning as the divisor above, but for the control sensor.
|
||||
@ -804,12 +843,15 @@ current one.
|
||||
|
||||
If the ITC-4 {\bf does not respond at all}, make sure the serial connection to
|
||||
the Macintosh is working. Use standard RS-232 debugging procedures for doing
|
||||
this. The not responding may also come up as a failure to connect to the ITC-4
|
||||
during startup.
|
||||
this. The not responding message may also come up as a failure to
|
||||
connect
|
||||
to the ITC-4 during startup.
|
||||
|
||||
If error messages containing the string {\bf ?TMO} keep creeping up followed
|
||||
by all signs of command not understood, then increase the timeout. The standard
|
||||
timeout of 10 microseconds is to short at times.
|
||||
If error messages containing the string {\bf ?TMO} keep appearing
|
||||
up followed
|
||||
by signs that the command has not been understood, then increase the
|
||||
timeout. The standard
|
||||
timeout of 10 microseconds can be to short sometimes.
|
||||
|
||||
You keep on reading {\bf wrong values} from the ITC4. Mostly off by a
|
||||
factor 10. Then set the divisor correctly. Or you may need to choose a
|
||||
@ -824,9 +866,10 @@ causes for this problem:
|
||||
\item The multiplicator for the control sensor was wrong and the ITC4 has now
|
||||
a set value which is different from your wishes. You should have got error
|
||||
messages then as you tried to start the ITC4.
|
||||
\item The software is reading back wrong temperature because the sensor and
|
||||
\item The software is reading back incorrect temperature values
|
||||
because the sensor and
|
||||
divisor parameters are badly configured. Try to read the temperature and if
|
||||
it does have nothing to do with reality, set parameters accordingly.
|
||||
it does have nothing to do with reality, set the parameters accordingly.
|
||||
\item The tolerance parameter is configured so low, that the ITC4 never
|
||||
manages to stay in that range. Can also be caused by inappropriate PID
|
||||
parameters in the ITC4.
|
||||
@ -843,7 +886,7 @@ within the tolerance. That is the temperature value you wanted after all.
|
||||
|
||||
\label{f10:haake}
|
||||
|
||||
This is sort of a buck full of water equipped with a temperature
|
||||
This is sort of a bucket full of water equipped with a temperature
|
||||
control system. The RS-232 interface of this device can only be operated at
|
||||
4800 baud max. This is why it has to be connected to the serial printer port
|
||||
of the Macintosh serial port server computer. This makes the channel number to
|
||||
@ -857,7 +900,7 @@ initialisation parameters, second install the device with evfactory. A
|
||||
command procedure is supplied for the first step. Thus the initialisation
|
||||
sequence becomes:
|
||||
\begin{quotation}
|
||||
inihaakearray name-o-array macintosh-computer name port channel\newline
|
||||
inihaakearray name-of-array macintosh-computer name port channel\newline
|
||||
evfactory new temperature tcl name-of-array\end{quotation}
|
||||
An example for the SANS:
|
||||
\begin{quotation}
|
||||
@ -984,13 +1027,13 @@ serial port 6 at lnsp18.
|
||||
|
||||
The additional commands understood by the LTC-11 controller are:
|
||||
\begin{description}
|
||||
\item[temperature sensor ] allows to query the current sensor used for temperature readout.
|
||||
\item[temperature sensor val ] allows to select the sensor val for temperature readout.
|
||||
\item[temperature controlanalog ] allows to query the sensor used for controlling the analog channel.
|
||||
\item[temperature controlanalog val ] allows to select the sensor val for controlling the analog channel.
|
||||
\item[temperature controlheat ] allows to query the sensor used for controlling the heater channel.
|
||||
\item[temperature controlheat val ] allows to select the sensor val for controlling the heater channel.
|
||||
\item[temperature mode] Allows to query if the LTC-11 controls the analog or heater channel.
|
||||
\item[temperature sensor ] queries the current sensor used for temperature readout.
|
||||
\item[temperature sensor val ] selects the sensor val for temperature readout.
|
||||
\item[temperature controlanalog ] queries the sensor used for controlling the analog channel.
|
||||
\item[temperature controlanalog val ] selects the sensor val for controlling the analog channel.
|
||||
\item[temperature controlheat ] queries the sensor used for controlling the heater channel.
|
||||
\item[temperature controlheat val ] selects the sensor val for controlling the heater channel.
|
||||
\item[temperature mode] queries if the LTC-11 is in analog or heater control mode.
|
||||
\end{description}
|
||||
|
||||
Further notes: As the CryoFurnace is very slow and the display at the
|
||||
@ -1240,13 +1283,13 @@ status display clients.
|
||||
\item {\bf SoftLowerLim } is the software lower limit. This can be defined by the user in order to restrict instrument movement in special cases.
|
||||
\item {\bf SoftUpperLim } is the software upper limit. This can be defined by the user in order to restrict instrument movement in special cases.
|
||||
\item {\bf SoftZero } defines a software zero point for the motor. All further movements will be in respect to this zeropoint.
|
||||
\item {\bf Fixed } can be greater 0 for the motor being fixed and less
|
||||
or equal than zero for the motor being movable.
|
||||
\item {\bf InterruptMode } defines the interrupt to issue when the motor fails. Some motors are so critical for the operation of the instrument that all operations shall be stopped when there is a problem. Other are less critical. This criticallity is expressed in terms of interrupts, denoted by integers in the range 0 - 4 translating into the interrupts: continue, AbortOperation, AbortScan, AbortBatch and Halt. This parameter can usually only be set by managers.
|
||||
\item {\bf Fixed } can be greater then 0 for the motor being fixed and less then
|
||||
or equal to zero for the motor being movable.
|
||||
\item {\bf InterruptMode } defines the interrupt to issue when the motor fails. Some motors are so critical for the operation of the instrument that all operations are to be stopped when there is a problem. Other are less critical. This criticallity is expressed in terms of interrupts, denoted by integers in the range 0 - 4 translating into the interrupts: continue, AbortOperation, AbortScan, AbortBatch and Halt. This parameter can usually only be set by
|
||||
managers.
|
||||
\item {\bf Precision } denotes the precision to expect from the motor in positioning. Can usually only be set by managers.
|
||||
\item {\bf AccessCode } specifies the level of user privilege necessary to operate the motor. Some motors are for adjustment only and can be harmful to move once the adjustment has been done. Others must be moved for the experiment. Values are 0 - 3 for internal, manager, user and spy. This parameter can only be changed by managers.
|
||||
\item {\bf Speed }, defunct.
|
||||
\item {\bf Sign } allows to reverse the operating sense of the motor.
|
||||
\item {\bf Sign } reverses the operating sense of the motor.
|
||||
For cases where electricians and not physicists have defined the operating sense of the motor. Usually a parameter not to be changed by ordinary users.
|
||||
\end{itemize}
|
||||
|
||||
@ -1259,20 +1302,21 @@ or equal than zero for the motor being movable.
|
||||
\label{f14}
|
||||
|
||||
|
||||
This section deals with the SICS interface to single counters.
|
||||
Where the SICS counter concept may include several monitors per
|
||||
counter. A counter is, again, a named object which takes commands.
|
||||
A word or two has to be lost about the SICS handling of preset values for counters.
|
||||
Two modes of operation have to be distinguished: counting until a timer has passed,
|
||||
for example: count for 20 seconds. This mode is called timer mode. In the other
|
||||
mode, counting is continued until a control monitor has reached a certain
|
||||
A counter in SICS is a controller which operates single neutron
|
||||
counting tubes and monitors.
|
||||
A counter can operate in one out of two modes: counting until a timer has
|
||||
passed,
|
||||
for example: count for 20 seconds. Counting in this context means that the noutrons coming in during these 20 seconds are summed together. This mode is called timer mode. In the other
|
||||
mode, counting is continued until a specified neutron monitor has
|
||||
reached a certain
|
||||
preset value. This mode is called Monitor mode. The preset values in Monitor
|
||||
mode are usually very large. Therefore the counter has an exponent data variable.
|
||||
Values given as preset are effectively 10 to the power of this exponent. For
|
||||
instance if the preset is 25 and the exponent is 6, then counting will be
|
||||
continued until the monitor has reached 25 million. Note, that this scheme with
|
||||
the exponent is only in operation in Monitor mode.
|
||||
The commands understood are:
|
||||
Again, in SICS the counter is an object which understands a set of
|
||||
commands:
|
||||
\begin{itemize}
|
||||
\item {\bf countername SetPreset val } sets the counting preset to val.
|
||||
\item {\bf countername GetPreset } prints the current preset value.
|
||||
@ -1306,6 +1350,12 @@ paused.
|
||||
monitor to use as control monitor in monitor mode, it allows to choose
|
||||
the monitor used for pausing the count when the count rate is below the
|
||||
threshold (Who on earth designed this?)
|
||||
\item {\bf countername send arg1 arg2 arg3 ...} sends everything behind
|
||||
send to the counter controller and returns the reply of the counter
|
||||
box. The command set to use after send is the command set documented
|
||||
for the counter box elsewhere. Through this feature it is possible to
|
||||
diretclly configure certain variables of the counter controller from
|
||||
within SICS.
|
||||
\end{itemize}
|
||||
|
||||
% html: End of file: `counter.htm'
|
||||
@ -1379,13 +1429,18 @@ server. This command is primarily of interest for status display client
|
||||
implementors.
|
||||
|
||||
{\bf backup file} saves the current values of SICS variables and selected
|
||||
motor and device parameters to the disk file specified as parameter. The
|
||||
path to this files is relative to the SICS server directory. The format
|
||||
of the file is a list of SICS commands to set all these parameters again.
|
||||
motor and device parameters to the disk file specified as
|
||||
parameter. If no file parameter is given the data is written to the
|
||||
system default status backup file.
|
||||
The format
|
||||
of the file is a list of SICS commands to set all these parameters
|
||||
again. The file is written on the instrument computer relative to the
|
||||
path of the SICS server. This is usually /home/INSTRUMENT/bin.
|
||||
|
||||
{\bf restore file} reads a file produced by the backup command described
|
||||
above and restores SICS to the state it was in when the status was saved with
|
||||
backup.
|
||||
backup. If no file argument is given the system default file gets
|
||||
read.
|
||||
% html: End of file: `system.htm'
|
||||
% html: Beginning of file: `topscan.htm'
|
||||
|
||||
@ -1394,6 +1449,11 @@ above and restores SICS to the state it was in when the status was saved with
|
||||
\label{f17}
|
||||
|
||||
|
||||
An important concept in neutron scattering instrument control is a
|
||||
{\tt{}"{}}scan{\tt{}"{}}. For a simple scan a range of instrument positions is divided
|
||||
into equidistant steps. The instrument then proceeds to drive to each
|
||||
of these points and collects data at each of them.
|
||||
|
||||
The general idea of the scan object for TOPSI is, that you configure the
|
||||
scan by typing commands at the command line. Once, the configuration is
|
||||
finished the requested scan is started. A data file will be written
|
||||
@ -1435,7 +1495,7 @@ center value. This mostly used for centering purposes. The syntax is like this:
|
||||
cscan var center delta np preset\end{quotation}
|
||||
All parameters must be specified. The parameters and their meanings:
|
||||
\begin{itemize}
|
||||
\item {\bf var} is the varibale which is to be center scanned.
|
||||
\item {\bf var} is the variable which is to be center scanned.
|
||||
Only one can be specified.
|
||||
\item {\bf center} is the value to use as center of the scan.
|
||||
\item {\bf delta} is the step width to use for the scan.
|
||||
@ -1455,10 +1515,11 @@ sscan var1 start end var2 start end ... np preset\end{quotation}
|
||||
All parameters must be specified. The parameters and their meanings:
|
||||
\begin{itemize}
|
||||
\item {\bf var1 start end} This is how the variables to scan are specified. For
|
||||
each variable scanned a triplet must be given which consists of the name of the
|
||||
variable, the start value and the end value of the scan. More then one triplet
|
||||
each variable scanned the name of the
|
||||
variable, the start value and the end value of the scan must be
|
||||
given. More then one triplet
|
||||
can be given in order to allow for several scan variables.
|
||||
\item {\bf np} is the number of points to scan in each direction.
|
||||
\item {\bf np} is the number of points to scan.
|
||||
\item {\bf preset} is the preset to use for the counter. As the counter mode,
|
||||
the mode currently configured active in the scan object is used.
|
||||
\end{itemize}
|
||||
@ -1472,7 +1533,8 @@ the results of the last scan still in memory. The command {\bf peak} prints
|
||||
the position, FWHM and maximum value of the peak in the last scan. The
|
||||
command {\bf center} drives the first scan variable to the peak center of the
|
||||
last scan. Both peak and center use a rather simple but effective method for
|
||||
locating peaks. The prerequisite is that the peak is about gauss shaped. The
|
||||
locating peaks. The prerequisite is that the peak is approximatly
|
||||
gaussian shaped. The
|
||||
algorithm first locates the peak maximum. Then it goes to the left and
|
||||
right of the maximum and tries to find the points of half maximum peak height.
|
||||
The two points are interpolated from the data and the peak position
|
||||
@ -1484,7 +1546,7 @@ the position, FWHM and maximum value of the peak in the last scan. The
|
||||
|
||||
\label{f18}
|
||||
|
||||
SICS allows to change the user rights of the current client server connection, control the amount of output a client receives and to specify additional logfiles where output will be placed. All this is accessed through the following commands:
|
||||
SICS has a command for changing the user rights of the current client server connection, control the amount of output a client receives and to specify additional logfiles where output will be placed. All this is accessed through the following commands:
|
||||
|
||||
The SICS server logs all its activities to a logfile, regardless of what the user requested. This logfile is mainly intended to help in server debugging. However, clients may register an interest in certain server events and can have them displayed. This facility is accessed via the {\bf GetLog } command. It needs to be stressed that this log receives messages from {\bf all } active clients. GetLog understands the following messages:
|
||||
\begin{itemize}
|
||||
@ -1503,7 +1565,7 @@ the position, FWHM and maximum value of the peak in the last scan. The
|
||||
\item {\bf Value } Some commands return requested values to a user. These messages have an output code of Value.
|
||||
\end{itemize}
|
||||
|
||||
{\bf config } allows to configure various aspects of the current client server connection. Basically three things can be manipulated: The connections output class, the user rights associated with it, and output files.
|
||||
The {\bf config } command configures various aspects of the current client server connection. Basically three things can be manipulated: The connections output class, the user rights associated with it, and output files.
|
||||
|
||||
\begin{itemize} \item The command {\bf config OutCode val } sets the output code for the connection. By default all output is sent to the client. But a graphical user interface client might want to restrict message to only those delivering requested values and error messages and suppressing anything else. In order to achieve this, this command is provided. Possible values Values for val are Internal,Command, HWError,InError,Status, Error, Value. This list is hierarchical. For example specifying InError for val lets the client receive all messages tagged InError, Status, Error and Value, but not HWError, Command and Internal messages.
|
||||
\item Each connection between a client and the SICS server has user rights assocociated with it. These user rights can be configured at runtime with the command {\bf config Rights Username Password }. If a matching entry can be found in the servers password database new rights will be set.
|
||||
@ -1546,7 +1608,7 @@ the replicator application which is responsible for the automatic
|
||||
copying of data files to the laboratory server. The other is the SICS
|
||||
server. Both programs are started by means of a shell script called
|
||||
{\bf keepalive}. keepalive is basically an endless loop which calls
|
||||
the program again and agaian and thus ensures that the program will
|
||||
the program again and again and thus ensures that the program will
|
||||
never stop running.
|
||||
|
||||
When the SICS server hangs, or you want to enforce an reinitialization of
|
||||
|
@ -10,20 +10,45 @@
|
||||
<h2>Chapter Overview</h2>
|
||||
<p>
|
||||
<ul>
|
||||
<li> This chapter starts with an overview over some <a href="basic.htm">basic</a> SICS concepts.
|
||||
<li> This chapter starts with an overview of some <a href="basic.htm">basic</a> SICS concepts.
|
||||
<li> Than there are <a href="system.htm">system</a> commands for closing the server, requesting status information etc.
|
||||
<li> The <a href="token.htm">Token command</a> for managing control access to
|
||||
<li> The <a href="token.htm">Token command</a>is for managing control access to
|
||||
the SICS server.
|
||||
<li> A few commands permit to <a href="config.htm">change</a> user rights, set output files and the like.
|
||||
<li> A few commands <a href="config.htm">change</a> user rights, set output files and the like.
|
||||
<li> SICS has a built in <a href="macro.htm">macro</a> facility which is accessible through a few commands.
|
||||
<li> Than there is the <a href="buffer.htm">famous</a> LNS-Rünbuffer system.
|
||||
<li> Then there is the <a href="buffer.htm">famous</a> LNS-Rünbuffer system.
|
||||
<li> Motors and parameters need to be <a href="drive.htm">drive</a>n.
|
||||
<li> Logging of client output to a file can be performed with the <a
|
||||
href=logbook.htm>LogBook</a> command and the <a
|
||||
href="commandlog.htm">commandlog </a>.
|
||||
<li> SICS has a facility to <a href=optimise.htm>optimise</a> a peak with respect to several
|
||||
parameters.
|
||||
</ul>
|
||||
</p>
|
||||
<p>
|
||||
SICS has various ways (to many!) to log the I/O from and to an
|
||||
instrument control server. This has devolped over time and may need a
|
||||
cleanup.
|
||||
<ol>
|
||||
<li>There exists a server log where all I/O and internal
|
||||
messages is written to automatically. As this can get quite large the
|
||||
files
|
||||
for this
|
||||
are cyclically reused. This is log aimed at debugging problems with
|
||||
the SICS server.
|
||||
<li> Logging of client output to a file can be performed with the <a
|
||||
href=logbook.htm>LogBook</a> command. This is a wrapper around the
|
||||
config file command. This is obsolete.
|
||||
<li>Then there is a <a
|
||||
href="commandlog.htm">commandlog </a> which writes all I/O coming from
|
||||
clients with user or manager privilege. These log files are kept under
|
||||
/home/INSTRUMENT/log for each day. With this log file all important
|
||||
operations on an instrument can be reconstructed. This gets written
|
||||
automatically without user intervention.
|
||||
</ul>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -5,9 +5,10 @@
|
||||
<body>
|
||||
<h1>LogBook command</h1>
|
||||
<p>
|
||||
Some users wish like to have all the input typed to SICS and all responses
|
||||
Some users like to have all the input typed to SICS and responses
|
||||
collected in a file for further review. This is implemented via the LogBook
|
||||
command. LogBook understands the following syntax:
|
||||
command. LogBook is actually a wrapper around the config file command.
|
||||
LogBook understands the following syntax:
|
||||
<DL>
|
||||
<DT> LogBook
|
||||
<DD> alone prints the name of the current logfile and the status of event
|
||||
@ -17,7 +18,7 @@ logging.
|
||||
Please note that this new filename will only be in effect after restarting
|
||||
logging.
|
||||
<DT> LogBook on
|
||||
<DD> This command turns loggin on. All commands and all answers will be
|
||||
<DD> This command turns logging on. All commands and all answers will be
|
||||
written to the file defined with the command described above. Please note,
|
||||
that this command will overwrite an existing file with the same name.
|
||||
<DT> LogBook off
|
||||
|
@ -5,11 +5,16 @@
|
||||
<body>
|
||||
<h2>Macro Commands</h2>
|
||||
<p>
|
||||
SICS has a built in macro facility. This macro facility is aimed at instrument managers and users alike. Instrument managers may provide customised measurement procedures in this language, users may write batch files in this language. The macro language is John Ousterhout's Tool Command Language (TCL). Tcl has control constructs, variables of its own, loop constructs, associative arrays and procedures. Tcl is well documented by several books and online tutorials, therefore no details on Tcl will be given here. All SICS commands are available in the macro language. Some potentially harmful Tcl commands have been deleted from the standard Tcl interpreter. These are: exec, source, puts, vwait, exit,gets and socket. The following commands allow access to the macro facility:</p>
|
||||
SICS has a built in macro facility. This macro facility is aimed at instrument managers and users alike. Instrument managers may provide customised measurement procedures in this language, users may write batch files in this language. The macro language is John Ousterhout's Tool Command Language (TCL). Tcl has control constructs, variables of its own, loop constructs, associative arrays and procedures. Tcl is well documented by several books and online tutorials, therefore no details on Tcl will be given here. All SICS commands are available in the macro language. Some potentially harmful Tcl commands have been deleted from the standard Tcl interpreter. These are: exec, source, puts, vwait, exit,gets and socket. A macro or batch file can be executed with the command:</p>
|
||||
<p>
|
||||
<b> FileEval name </b> tries to open the file name and executes the script in this file. Please note that the server is configured via such a file.</p>
|
||||
<b> FileEval name </b> tries to open the file name and executes the script in this file. </p>
|
||||
Then there are some special commands which can be used within macro-sripts:
|
||||
<p>
|
||||
<b> ClientPut sometext1 ... </b> writes everything after ClientPut to the client which started the script. Useful for output to a client from macro scripts.</p>
|
||||
<b> ClientPut sometext1 ... </b> writes everything after ClientPut to
|
||||
the client which started the script. This is needed as SICS supresses
|
||||
the output from intermediate commands in scripts. Except error
|
||||
messages and warnings. With clientput this scheme can be circumvented
|
||||
and data be printed from within scripts.</p>
|
||||
<p>
|
||||
<b> SICSType object </b> allows to query the type of the object specified by object. Possible return values are<ul>
|
||||
<li> <b> DRIV </b> if the object is a SICS drivable object such as a motor
|
||||
@ -22,10 +27,14 @@
|
||||
<p>
|
||||
<b> SICSbounds var newval </b> checks if the new value newval lies within the limits for varaible var. Returns an error or OK depending on the result of the test.</p>
|
||||
<p>
|
||||
<b> SICSStatus var </b> SICS devices such as counters or motor may be started and left running while the program is free to do something else. This command allows to enquire the status of such a running device. Return values are internal SICS integer codes. This command is only of use for SICS programmers.</p>
|
||||
<b> SICSStatus var </b> SICS devices such as counters or motor may be
|
||||
started and left running while the program is free to do something
|
||||
else. This command inquires the status of such a running device. Return values are internal SICS integer codes. This command is only of use for SICS programmers.</p>
|
||||
<p>
|
||||
<b> SetStatus newval </b> allows to set the SICS status to one of: Eager, UserWait, Count, NoBeam, Driving, Running, Scanning, Batch Hatl or Dead. This command is only available in macros.</p>
|
||||
<b> SetStatus newval </b> sets the SICS status to one of: Eager, UserWait, Count, NoBeam, Driving, Running, Scanning, Batch Hatl or Dead. This command is only available in macros.</p>
|
||||
<p>
|
||||
<b> SetInt newval, GetInt </b> allow for the manipulation of interrupts from macro scripts. Not recommended! Possible return values or new values are: continue, abortop, abortscan, abortbatch, halt, free, end. This command is only permitted in macros. Should only be used by SICS programmers.</p>
|
||||
<b> SetInt newval, GetInt </b> sets SICS interrupts from macro scripts. Not recommended! Possible return values or new values are: continue, abortop, abortscan, abortbatch, halt, free, end. This command is only permitted in macros. Should only be used by SICS programmers.</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
@ -28,13 +28,13 @@ status display clients.
|
||||
<li> <b> SoftLowerLim </b> is the software lower limit. This can be defined by the user in order to restrict instrument movement in special cases.
|
||||
<li> <b> SoftUpperLim </b> is the software upper limit. This can be defined by the user in order to restrict instrument movement in special cases.
|
||||
<li> <b> SoftZero </b> defines a software zero point for the motor. All further movements will be in respect to this zeropoint.
|
||||
<li> <b> Fixed </b> can be greater 0 for the motor being fixed and less
|
||||
or equal than zero for the motor being movable.
|
||||
<li> <b> InterruptMode </b> defines the interrupt to issue when the motor fails. Some motors are so critical for the operation of the instrument that all operations shall be stopped when there is a problem. Other are less critical. This criticallity is expressed in terms of interrupts, denoted by integers in the range 0 - 4 translating into the interrupts: continue, AbortOperation, AbortScan, AbortBatch and Halt. This parameter can usually only be set by managers.
|
||||
<li> <b> Fixed </b> can be greater then 0 for the motor being fixed and less then
|
||||
or equal to zero for the motor being movable.
|
||||
<li> <b> InterruptMode </b> defines the interrupt to issue when the motor fails. Some motors are so critical for the operation of the instrument that all operations are to be stopped when there is a problem. Other are less critical. This criticallity is expressed in terms of interrupts, denoted by integers in the range 0 - 4 translating into the interrupts: continue, AbortOperation, AbortScan, AbortBatch and Halt. This parameter can usually only be set by
|
||||
managers.
|
||||
<li> <b> Precision </b> denotes the precision to expect from the motor in positioning. Can usually only be set by managers.
|
||||
<li> <b> AccessCode </b> specifies the level of user privilege necessary to operate the motor. Some motors are for adjustment only and can be harmful to move once the adjustment has been done. Others must be moved for the experiment. Values are 0 - 3 for internal, manager, user and spy. This parameter can only be changed by managers.
|
||||
<li> <b> Speed </b>, defunct.
|
||||
<li> <b> Sign </b> allows to reverse the operating sense of the motor.
|
||||
<li> <b> Sign </b> reverses the operating sense of the motor.
|
||||
For cases where electricians and not physicists have defined the operating sense of the motor. Usually a parameter not to be changed by ordinary users.
|
||||
</ul>
|
||||
<p>
|
||||
|
@ -5,14 +5,14 @@
|
||||
<BODY>
|
||||
<H1>The Peak Optimiser</H1>
|
||||
<P>
|
||||
In instrument control the need arises to optimise a peak with respect to
|
||||
In instrument control the need may arise to optimise a peak with respect to
|
||||
several variables. Optimising means finding the maximum of the peak with
|
||||
respect to several variables.
|
||||
This is usefull during instrument calibration.
|
||||
This is useful during instrument calibration, for example.
|
||||
Four circle diffractometers use this facility on a day to day basis
|
||||
for finding and verifying the exact position of reflections. In order to
|
||||
support both usages a more general module has been implemented. The way of
|
||||
operation is like this:
|
||||
support both usages a more general module has been implemented. The
|
||||
algorithm is like this:
|
||||
<pre>
|
||||
while errors gt precision and cycles lt maxcycles
|
||||
for all variables
|
||||
|
@ -41,8 +41,8 @@ reasonable default parameters. </p>
|
||||
<p>
|
||||
In the SICS model
|
||||
a sample environment device has in principle two modes of operation. The first
|
||||
is the drive modus. The device is monitored in this modus when a new value for it
|
||||
has been requested. The second modus is the monitor modus. This modus is entered
|
||||
is the drive mode. The device is monitored in this mode when a new value for it
|
||||
has been requested. The second mode is the monitor mode. This mode is entered
|
||||
when the device has reached its target value. After that, the device must be
|
||||
continously monitored throughout any measurement. This is done through the
|
||||
environment monitor or <b>emon</b>. The emon understands a few commands of its
|
||||
@ -65,10 +65,10 @@ section discussing the special devices known to the system.
|
||||
A <a name="error"> sample</a> environment device may fail to stay at its preset value during a
|
||||
measurement. This condition will usually be detected by the emon. The question
|
||||
is how to deal with this problem. The requirements for this kind of error
|
||||
handling are quite differntiated. The SICS model therefore implements several
|
||||
handling are quite different. The SICS model therefore implements several
|
||||
strategies for handling sample environment device failure handling.
|
||||
The strategy to use is selected via variable which can be set by the user for
|
||||
any sample environment device separatetly. Additional error handling strategies
|
||||
The strategy to use is selected via a variable which can be set by the user for
|
||||
any sample environment device separately. Additional error handling strategies
|
||||
can be added with a modest amount of programming. The error handling strategies currently
|
||||
implemented are:
|
||||
<DL>
|
||||
@ -122,8 +122,12 @@ out of tolerance errors on that device no longer be handled.
|
||||
<h3><a name="all">General</a>
|
||||
Commands UnderStood by All Sample Environment Devices</h3>
|
||||
<p>
|
||||
Once the evfactory has been run successfully the controller is
|
||||
installed as an object in SICS. It is accessible as an object then
|
||||
under the name specified in the evfactory command. All environemnt
|
||||
object understand the common commands given below.
|
||||
Please note that each command discussed below MUST be prepended with the name
|
||||
of the environment device as configured in EVFavtory!
|
||||
of the environment device as configured in EVFactory!
|
||||
</p>
|
||||
<p>
|
||||
The general commands understood by any environment controller can be subdivided
|
||||
@ -134,7 +138,8 @@ set if a parameter is specified. For example:
|
||||
Temperature Tolerance
|
||||
</BLOCKQUOTE>
|
||||
prints the value of the variable Tolerance for the environment controller
|
||||
Temperature.
|
||||
Temperature. This is in the same units as the controller operates,
|
||||
i. e. for a temperature controller Kelvin.
|
||||
<BLOCKQUOTE>
|
||||
Temperature Tolerance 2.0
|
||||
</BLOCKQUOTE>
|
||||
@ -188,11 +193,11 @@ Additionally the following commands are understood:
|
||||
<DL>
|
||||
<DT>send par par ...
|
||||
<DD>Sends everything after send directly to the controller and return its
|
||||
response. This is a general purpose command which allows to manipulate controllers
|
||||
response. This is a general purpose command for manipulating controllers
|
||||
and controller parameters directly. The protocoll for these commands is
|
||||
documented in the documentation for each controller. Ordinary users should
|
||||
not tamper with this. This facility is meant for setting up the device with
|
||||
calibrartion tables etc.
|
||||
calibration tables etc.
|
||||
<DT> list
|
||||
<DD> lists all the parameters for this controller.
|
||||
<DT> no command, only name.
|
||||
@ -202,11 +207,16 @@ current value.
|
||||
<DD> will drive the device to the new value val. Please note that the same
|
||||
can be achieved by using the drive command.
|
||||
<DT> name log on
|
||||
<DD> Switches logging on. If logging is on, at each cycle in the emon the
|
||||
<DD> Switches logging on. If logging is on, at each cycle in the
|
||||
<b>emon</b>
|
||||
the
|
||||
current value of the environment variable will be recorded together with a
|
||||
time stamp. Be careful about this, for each log point a bit of memory is
|
||||
allocated. At some time the memory is exhausted! Log clear frees it again
|
||||
and log frequency (both below) allows to set the logging time intervall.
|
||||
allocated. At some time the memory is exhausted! <b>Log clear</b>
|
||||
frees
|
||||
it again
|
||||
and <b>log frequency</b> (both below)
|
||||
allows to set the logging time intervall.
|
||||
<DT> name log off
|
||||
<DD>Switches logging off.
|
||||
<DT>name log clear
|
||||
@ -217,12 +227,11 @@ and log frequency (both below) allows to set the logging time intervall.
|
||||
<DD> This command retrieves all recorded values.
|
||||
<DT>name log getmean
|
||||
<DD>Calculates the mean value and the standard deviation for all logged
|
||||
values and prints it.
|
||||
values and prints them.
|
||||
<DT>name log frequency val
|
||||
<DD> With a parameter sets, without a parameter requests the logging intervall
|
||||
for the log created. This parameter specifies the time intervall in seconds
|
||||
between log records. The default is 5 minutes. A value of 0 means a record any
|
||||
cycle of the SICServer.
|
||||
between log records. The default is 300 seconds.
|
||||
<DT>name log file filename
|
||||
<DD> Starts logging of value data to the file filename. All normal logging to
|
||||
memory will be
|
||||
@ -243,8 +252,9 @@ that special device. All of the general commands listed above work as well!
|
||||
</p>
|
||||
<h3><a name="itc4">ITC-4</a> and ITC-503 Temperature Controllers</h3>
|
||||
<p>
|
||||
These temperature controller are fairly popular at SINQ. It is manufactured by
|
||||
Oxford Instruments. At the back side of this controller there is a RS-232
|
||||
These temperature controller are fairly popular at SINQ. They are
|
||||
manufactured by
|
||||
Oxford Instruments. At the back of this controller is a RS-232
|
||||
socket which must be connected to a Macintosh computer running the SINQ
|
||||
terminal server program via a serial cable. Please make sure with a different
|
||||
Macintosh or a PC that the serial line is OK and the ITC-4 responding before
|
||||
@ -261,10 +271,10 @@ ITC-4 is expected to be connected to the serial port channel at the
|
||||
Macintosh computer computer running the SINQ terminal server program
|
||||
listening at port port. For example:
|
||||
<BLOCKQUOTE>
|
||||
EVFactory new Temp ITC4 lnsp22.psi.ch 4000 6
|
||||
EVFactory new Temp ITC4 lnsp22.psi.ch 4000 7
|
||||
</BLOCKQUOTE>
|
||||
connects Temp to the Macintosh named lnsp22, serial port 5 (6 above is no typo!),
|
||||
listening at port 4000.
|
||||
connects Temp to the Macintosh named lnsp22, serial port 6
|
||||
(7 above is no typo!), listening at port 4000.
|
||||
</P>
|
||||
<h4>ITC-4 Additional Parameters</h4>
|
||||
<p>
|
||||
@ -273,7 +283,7 @@ The ITC-4 has a few more parameter commands:
|
||||
<DT>timeout
|
||||
<DD>Is the timeout for the Macintosh terminal server program waiting for
|
||||
responses from the ITC-4. Increase this parameter if error messages
|
||||
containg ?TMO creeping up.
|
||||
containg ?TMO appear.
|
||||
<DT> sensor
|
||||
<DD> Sets the sensor number to be used for reading temperature.
|
||||
<DT> control
|
||||
@ -283,7 +293,7 @@ internally for regulating the ITC-4.
|
||||
<DD>The ITC4 does not understand floating point numbers, the ITC-503 does.
|
||||
In order to make ITC4's read and write temperatures correctly floating point
|
||||
values must be multiplied or divided with a magnitude of 10. This parameter
|
||||
determines the appropriate value for the sensor. Is usually 10 for a sensor
|
||||
determines the appropriate value for the sensor. It is usually 10 for a sensor
|
||||
with one value behind the comma or 100 for a sensor with two values after
|
||||
the comma.
|
||||
<DT>multiplicator
|
||||
@ -325,12 +335,15 @@ current one.
|
||||
<p>
|
||||
If the ITC-4 <b>does not respond at all</b>, make sure the serial connection to
|
||||
the Macintosh is working. Use standard RS-232 debugging procedures for doing
|
||||
this. The not responding may also come up as a failure to connect to the ITC-4
|
||||
during startup.
|
||||
this. The not responding message may also come up as a failure to
|
||||
connect
|
||||
to the ITC-4 during startup.
|
||||
</p>
|
||||
<p> If error messages containing the string <b>?TMO</b> keep creeping up followed
|
||||
by all signs of command not understood, then increase the timeout. The standard
|
||||
timeout of 10 microseconds is to short at times.
|
||||
<p> If error messages containing the string <b>?TMO</b> keep appearing
|
||||
up followed
|
||||
by signs that the command has not been understood, then increase the
|
||||
timeout. The standard
|
||||
timeout of 10 microseconds can be to short sometimes.
|
||||
</p>
|
||||
<p>
|
||||
You keep on reading <b>wrong values</b> from the ITC4. Mostly off by a
|
||||
@ -348,9 +361,10 @@ causes for this problem:
|
||||
<li>The multiplicator for the control sensor was wrong and the ITC4 has now
|
||||
a set value which is different from your wishes. You should have got error
|
||||
messages then as you tried to start the ITC4.
|
||||
<li>The software is reading back wrong temperature because the sensor and
|
||||
<li>The software is reading back incorrect temperature values
|
||||
because the sensor and
|
||||
divisor parameters are badly configured. Try to read the temperature and if
|
||||
it does have nothing to do with reality, set parameters accordingly.
|
||||
it does have nothing to do with reality, set the parameters accordingly.
|
||||
<li>The tolerance parameter is configured so low, that the ITC4 never
|
||||
manages to stay in that range. Can also be caused by inappropriate PID
|
||||
parameters in the ITC4.
|
||||
@ -365,7 +379,7 @@ within the tolerance. That is the temperature value you wanted after all.
|
||||
</p>
|
||||
<h3><a name="haake">Haake</a> Waterbath Thermostat</h3>
|
||||
<p>
|
||||
This is sort of a buck full of water equipped with a temperature
|
||||
This is sort of a bucket full of water equipped with a temperature
|
||||
control system. The RS-232 interface of this device can only be operated at
|
||||
4800 baud max. This is why it has to be connected to the serial printer port
|
||||
of the Macintosh serial port server computer. This makes the channel number to
|
||||
@ -379,7 +393,7 @@ initialisation parameters, second install the device with evfactory. A
|
||||
command procedure is supplied for the first step. Thus the initialisation
|
||||
sequence becomes:
|
||||
<BLOCKQUOTE>
|
||||
inihaakearray name-o-array macintosh-computer name port channel<br>
|
||||
inihaakearray name-of-array macintosh-computer name port channel<br>
|
||||
evfactory new temperature tcl name-of-array
|
||||
</BLOCKQUOTE>An example for the SANS:
|
||||
<BLOCKQUOTE>
|
||||
@ -519,19 +533,19 @@ serial port 6 at lnsp18.
|
||||
The additional commands understood by the LTC-11 controller are:
|
||||
<dl>
|
||||
<dt>temperature sensor
|
||||
<dd> allows to query the current sensor used for temperature readout.
|
||||
<dd> queries the current sensor used for temperature readout.
|
||||
<dt>temperature sensor val
|
||||
<dd> allows to select the sensor val for temperature readout.
|
||||
<dd> selects the sensor val for temperature readout.
|
||||
<dt>temperature controlanalog
|
||||
<dd> allows to query the sensor used for controlling the analog channel.
|
||||
<dd> queries the sensor used for controlling the analog channel.
|
||||
<dt>temperature controlanalog val
|
||||
<dd> allows to select the sensor val for controlling the analog channel.
|
||||
<dd> selects the sensor val for controlling the analog channel.
|
||||
<dt>temperature controlheat
|
||||
<dd> allows to query the sensor used for controlling the heater channel.
|
||||
<dd> queries the sensor used for controlling the heater channel.
|
||||
<dt>temperature controlheat val
|
||||
<dd> allows to select the sensor val for controlling the heater channel.
|
||||
<dd> selects the sensor val for controlling the heater channel.
|
||||
<dt>temperature mode
|
||||
<DD>Allows to query if the LTC-11 controls the analog or heater channel.
|
||||
<DD>queries if the LTC-11 is in analog or heater control mode.
|
||||
</dl>
|
||||
</p>
|
||||
<p>
|
||||
@ -603,3 +617,5 @@ special commands are supported for the EL755.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
<body>
|
||||
<h1>SICS Invocation</h1>
|
||||
<p>
|
||||
SICS means SINQ Instrument Control System.
|
||||
SICS is a client server system. This means there are at least two programs
|
||||
necessary to run the experiment. The first
|
||||
is the
|
||||
@ -13,24 +14,28 @@ to bother about this server program as it is meant to run all the time.
|
||||
See instructions below if things go wrong.
|
||||
</p>
|
||||
<p>
|
||||
Then there are one to many client programs which interact with the
|
||||
Then there are client programs which interact with the
|
||||
instrument control server. These client programs implement the status
|
||||
displays and a command line application which allows to influence the
|
||||
course of the experiment. Graphical User Interfaces may be added at a
|
||||
later time.
|
||||
displays and a command line application which forwards commands to the
|
||||
SICS server and displays its response. Graphical User Interfaces may
|
||||
be added at a later time.
|
||||
The user has only to deal with
|
||||
these SICS client programs. SICS Clients and the SICServer communicate
|
||||
with each other through TCP/IP sockets.
|
||||
with each other through the TCP/IP network.
|
||||
</p>
|
||||
<p>
|
||||
Currently five SICS clients are available:
|
||||
<uL>
|
||||
<li> A command line control client which allows to control the measurement.
|
||||
<li> A status display for DMC.
|
||||
<li> A command line control client for sending commands to the SICS
|
||||
server and displaying its repsonses.
|
||||
<li> A status display for the powder diffractometers DMC and HRPT.
|
||||
<li> A status display for TOPSI.
|
||||
<li> A status display for SANS.
|
||||
<li> A status display for FOCUS.
|
||||
<li> A SICS variable watcher.
|
||||
<li> A status display for AMOR.
|
||||
<li> A SICS variable watcher. This application graphically logs the
|
||||
change of a SICS variable over time. Useful for monitoring for
|
||||
instance temperature controllers.
|
||||
</ul>
|
||||
</p>
|
||||
<p>
|
||||
@ -59,6 +64,8 @@ following commands at the command prompt:
|
||||
<DD> for the SANS status display.
|
||||
<DT>focustatus
|
||||
<DD> for the FOCUS status display.
|
||||
<DT>amor
|
||||
<DD> for the AMOR status display and control application.
|
||||
<DT>varwatch &
|
||||
<DD> for the variable watcher.
|
||||
</dl>
|
||||
@ -93,15 +100,19 @@ invoke the apropriate command to start the server. These are:
|
||||
<DT>DMC
|
||||
<DD>Computer = lnsa05,User = DMC
|
||||
<DT>TOPSI
|
||||
<DD>Computer = lnsa03,User = TOPSI
|
||||
<DD>Computer = lnsa07,User = TOPSI
|
||||
<DT>SANS
|
||||
<DD>Computer = lnsa07,User = SANS
|
||||
<DD>Computer = lnsa10,User = SANS
|
||||
<DT>TRICS
|
||||
<DD>Computer = lnsa12, User = TRICS
|
||||
<DD>Computer = lnsa13, User = TRICS
|
||||
<DT>HRPT
|
||||
<DD>Computer = lnsa11, User = HRPT
|
||||
<DT>FOCUS
|
||||
<DD>Computer = lnsa13, User = FOCUS
|
||||
<DD>Computer = lnsa12, User = FOCUS
|
||||
<DT>AMOR
|
||||
<DD>Computer = lnsa14, User = AMOR
|
||||
<DT>DRUECHAL
|
||||
<DD>Computer = lnsa16, User = DRUECHAL
|
||||
</dl>
|
||||
For starting the SICS server type <b>startsics</b>. This is a shell script
|
||||
which will starts all necessary server programs. This script works only on
|
||||
|
@ -25,14 +25,19 @@ implementors.
|
||||
</p>
|
||||
<p>
|
||||
<b>backup file</b> saves the current values of SICS variables and selected
|
||||
motor and device parameters to the disk file specified as parameter. The
|
||||
path to this files is relative to the SICS server directory. The format
|
||||
of the file is a list of SICS commands to set all these parameters again.
|
||||
motor and device parameters to the disk file specified as
|
||||
parameter. If no file parameter is given the data is written to the
|
||||
system default status backup file.
|
||||
The format
|
||||
of the file is a list of SICS commands to set all these parameters
|
||||
again. The file is written on the instrument computer relative to the
|
||||
path of the SICS server. This is usually /home/INSTRUMENT/bin.
|
||||
</p>
|
||||
<p>
|
||||
<b>restore file</b> reads a file produced by the backup command described
|
||||
above and restores SICS to the state it was in when the status was saved with
|
||||
backup.
|
||||
backup. If no file argument is given the system default file gets
|
||||
read.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -6,9 +6,10 @@
|
||||
<H2>The Token Command</H2>
|
||||
<P>
|
||||
In SICS any client can issue commands to the SICS server. This
|
||||
is a potential cause for trouble with users issuing conflicting
|
||||
is a potential source of trouble with users possibly issuing conflicting
|
||||
commands without knowing. In order to deal with this problem a
|
||||
token mechanism has been developed. A connection can grab a
|
||||
"token" mechanism has been developed. In this context the token is a
|
||||
symbol for the control of an instrument. A connection can grab the
|
||||
token and then has full control over the SICS server. Any other
|
||||
connection will not be privileged to do anything useful, except
|
||||
looking at things. A token can be released manully with a
|
||||
|
@ -1,48 +1,803 @@
|
||||
<html>
|
||||
<head>
|
||||
<title> List of TOPSI devices</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>TOPSI Device list</h1>
|
||||
<hr size=4 width="66%">
|
||||
<h2> Motors </h2>
|
||||
<p>
|
||||
<DL>
|
||||
<DT>BeamStopX
|
||||
<DD> this motor controls the vertical movement of the beam stop.
|
||||
</DL>
|
||||
With all these names, this chapter must be written by Daniel Clemens.
|
||||
</p>
|
||||
<h2>Counters </H2>
|
||||
<p>
|
||||
There is only one named counter.
|
||||
</p>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE> List of TOPSI devices</TITLE>
|
||||
<META NAME="GENERATOR" CONTENT="Mozilla/3.0Gold (X11; I; OSF1 V4.0 alpha) [Netscape]">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
|
||||
<H1>TOPSI Device list</H1>
|
||||
|
||||
<P>
|
||||
<HR size=4 width="66%"></P>
|
||||
|
||||
<H2>Motors </H2>
|
||||
|
||||
<!--latex-off-->
|
||||
<P>Here's an overview of <A HREF="http://www1.psi.ch/www_sinq_hn/SINQ/instr/Topsi.html">TOPSI</A>
|
||||
with <A HREF="http://www1.psi.ch/www_sinq_hn/SINQ/instr/img/Topsi.GIF">all
|
||||
its standard motors</A>.
|
||||
<!--latex-on-->
|
||||
|
||||
Although there are many names and ways to address
|
||||
a motor I recommend to use the systematic alias mnemonic. This 3-letter
|
||||
mnemonic uses the first letter to distinguish between monochromator (M__),
|
||||
sample (S__), diaphragms (D__), and motors used for scan modes of the u-shaped
|
||||
multireflection table (U__). Nevertheless, you may use the other aliases
|
||||
in the following list or TASMAD mnemonic, if this appears to be more natural
|
||||
to you. The second and third letter are used to specify the function or
|
||||
the part to be moved, e.g., a rotation of sample or monochromator for an
|
||||
angle theta (_TH), the rotation of a secondary arm (_TT), both around vertical
|
||||
axes, translations (_TX & _TY) and tiltings of goniometers (_GX &
|
||||
_GY) along perpendicular directions, the blade of a diaphragm (_1L, _2R,
|
||||
_3V, etc.).</P>
|
||||
|
||||
<H2>Mnemonic and Function of Motors</H2>
|
||||
<!--latex See Tables \ref{t1}, \ref{t2}, \ref{t3}-->
|
||||
|
||||
<!--latex-off-->
|
||||
<P>Use Netscape or compatible browser to display this table.</P>
|
||||
<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=3 WIDTH="100%" BGCOLOR="#FFDEAD" >
|
||||
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#008B8B">
|
||||
<TD><B><FONT COLOR="#FFFF00">Standard alias mnemonic</FONT></B></TD>
|
||||
|
||||
<TD><B><FONT COLOR="#FFFF00">TASMAD mnemonic</FONT></B></TD>
|
||||
|
||||
<TD NOWRAP WIDTH="90"><B><FONT COLOR="#FFFF00">Motor-# (motor-# on controller
|
||||
#)</FONT></B></TD>
|
||||
|
||||
<TD NOWRAP WIDTH="100"><B><FONT COLOR="#FFFF00">Location of motor &
|
||||
digitizer</FONT></B></TD>
|
||||
|
||||
<TD><B><FONT COLOR="#FFFF00">Function</FONT></B></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>MTH</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>A1</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>1 (1, 2)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>in mono drum</FONT></TD>
|
||||
|
||||
<TD NOWRAP WIDTH="250"><FONT SIZE=-1>rotation of monochromator crystal
|
||||
around vertical axis</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>MTT</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>A2</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>2 (2, 2)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>back of mono drum</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>rotation of platform around vertical monochromator axis</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>MTY</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>MTL</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>5 (5, 2)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD NOWRAP WIDTH="100"><FONT SIZE=-1>on top of motor 1 in mono drum</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>horizontal translation of monochromator crystal</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>MTX</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>MTU</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>6 (6, 2)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>on top of motor 5 in mono drum</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>horizontal translation of monochromator crystal perpendicular
|
||||
to MTY</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>MGX</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>MGL</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>9 (9, 2)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>uppermost in mono drum</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>rotation of monochromator crystal around horizontal axis
|
||||
to define horizontal scattering plane</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>STH, TH</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>A3</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>3 (3, 2)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>2nd lowermost on platform</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>rotation of sample around vertical axis</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>STT, TTH</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>A4</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>4 (4, 2)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>lowermost on platform</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>rotation of detector arm around vertical sample axis</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>STY</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>STL</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>7 (7, 2)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>on top of motor 3 on platform</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>horizontal translation of sample (thought to be perpendicular
|
||||
to beam, but depends on STH value)</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>STX</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>STU</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>8 (8, 2)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>on top of motor 7 on platform</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>horizontal translation of sample perpendicular to STY
|
||||
(thought to be along the beam, but depends on STH value)</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>SGY</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>SGL</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>11 (11, 2)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>2nd uppermost on platform (uppermost when SGX is not
|
||||
mounted)</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>rotation around a horizontal axis to incline the sample
|
||||
along STY direction</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>SGX</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>SGU</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>12 (12, 2)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>uppermost on platform </FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>rotation of sample around an inclined axis (along STX
|
||||
direction if STY=0)</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>D1R, S1R</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>MCV</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>13 (1, 3)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>diaphragm 1 (nearest to mono drum)</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>movement of the right aperture (when looking from the
|
||||
monochromator)</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>D1L, S1L</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>S3S</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>14 (2, 3)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>diaphragm 1 (nearest to mono drum)</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>movement of the left aperture (when looking from the
|
||||
monochromator)</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>D1V, S1V</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>ACH</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>15 (3, 3)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>diaphragm 1 (nearest to mono drum)</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>vertical movement of either the upper or lower aperture
|
||||
(depends on which one is connected)</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>D2R, S2R</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>ATL</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>17 (5, 3)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>diaphragm 2 </FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>movement of the right aperture (when looking from the
|
||||
monochromator)</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>D2L, S2L</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>ATU</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>18 (6, 3)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>diaphragm 2 </FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>movement of the left aperture (when looking from the
|
||||
monochromator)</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>D2V, S2V</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>AGL</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>19 (7, 3)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>diaphragm 2 </FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>vertical movement of either the upper or lower aperture
|
||||
(depends on which one is connected)</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>D3R, S3R</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>MCH</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>21 (9, 3)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>diaphragm 3 (nearest to detector)</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>movement of the right aperture (when looking from the
|
||||
monochromator)</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>D3L, S3L</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>ACH</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>22 (10, 3)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>diaphragm 3 (nearest to detector)</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>movement of the left aperture (when looking from the
|
||||
monochromator)</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>D3V, S3V</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>CCH</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>23 (11, 3)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>diaphragm 3 (nearest to detector)</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>vertical movement of either the upper or lower aperture
|
||||
(depends on which one is connected)</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>UTY</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>A5</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>16 (4, 3)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>lowermost on multireflection table</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>horizontal translation of multireflection yoke (perpendicular
|
||||
to detector arm)</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>UTZ</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>A6</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>20 (8, 3)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>uppermost on multireflection table</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>vertical translation of multireflection yoke (perpendicular
|
||||
to detector arm)</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>UTT</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>MGU</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>24 (12, 3)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>between support base and detector arm</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>fine translation of detector arm</FONT></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>AUX</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1></FONT></TD>
|
||||
|
||||
<TD>
|
||||
<CENTER><P><FONT SIZE=-1>10 (10, 2)</FONT></P></CENTER>
|
||||
</TD>
|
||||
|
||||
<TD><FONT SIZE=-1>auxiliary</FONT></TD>
|
||||
|
||||
<TD><FONT SIZE=-1>for additional motors, for instance a vertical translation
|
||||
stage on sample cradle</FONT></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<!--latex-on-->
|
||||
|
||||
<!--latex
|
||||
\begin{table}
|
||||
\caption{TOPSI motors 1}
|
||||
\label{t1}
|
||||
\begin{tabular}{|p{2cm}|p{2cm}|p{2cm}|p{4cm}|p{4cm}|}
|
||||
\hline
|
||||
Standard alias mnemonic & TASMAD mnemonic & Motor \# (motor \# on
|
||||
controller & Location of motor digitizer & Function\\
|
||||
\hline
|
||||
MTH & A1 & 1 (1, 2) & in mono drum & rotation of monochromator crystal
|
||||
around vertical axis \\
|
||||
\hline
|
||||
MTT & A2 & 2 (2, 2) & back of mono drum & rotation of platform around vertical monochromator axis \\
|
||||
\hline
|
||||
MTY & MTL & 5 (5, 2) & on top of motor 1 in mono drum & horizontal translation of monochromator crystal \\
|
||||
\hline
|
||||
MTX & MTU & 6 (6, 2) & on top of motor 5 in mono drum & horizontal translation of monochromator crystal perpendicular
|
||||
to MTY \\
|
||||
\hline
|
||||
MGX & MGL & 9 (9, 2) & uppermost in mono drum & rotation of monochromator crystal around horizontal axis
|
||||
to define horizontal scattering plane \\
|
||||
\hline
|
||||
STH, TH & A3 & 3 (3, 2) & 2nd lowermost on platform & rotation of sample around vertical axis \\
|
||||
\hline
|
||||
STT, TTH & A4 & 4 (4, 2) & lowermost on platform & rotation of detector arm around vertical sample axis \\
|
||||
\hline
|
||||
STY & STL& 7 (7, 2)& on top of motor 3 on platform & horizontal translation of sample (thought to be perpendicular
|
||||
to beam, but depends on STH value)
|
||||
\\
|
||||
\hline
|
||||
STX
|
||||
&
|
||||
STU
|
||||
&
|
||||
8 (8, 2)
|
||||
&
|
||||
on top of motor 7 on platform &
|
||||
horizontal translation of sample perpendicular to STY
|
||||
(thought to be along the beam, but depends on STH value)
|
||||
\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
-->
|
||||
|
||||
|
||||
<!--latex
|
||||
\begin{table}
|
||||
\caption{TOPSI motors 2}
|
||||
\label{t2}
|
||||
\begin{tabular}{|p{2cm}|p{2cm}|p{2cm}|p{4cm}|p{4cm}|}
|
||||
\hline
|
||||
SGY
|
||||
&
|
||||
SGL
|
||||
&
|
||||
11 (11, 2)
|
||||
&
|
||||
2nd uppermost on platform (uppermost when SGX is not
|
||||
mounted) &
|
||||
rotation around a horizontal axis to incline the sample
|
||||
along STY direction
|
||||
\\
|
||||
\hline
|
||||
SGX
|
||||
&
|
||||
SGU
|
||||
&
|
||||
12 (12, 2)
|
||||
&
|
||||
uppermost on platform &
|
||||
rotation of sample around an inclined axis (along STX
|
||||
direction if STY=0)
|
||||
\\
|
||||
\hline
|
||||
D1R, S1R
|
||||
&
|
||||
MCV
|
||||
&
|
||||
13 (1, 3)
|
||||
&
|
||||
diaphragm 1 (nearest to mono drum) &
|
||||
movement of the right aperture (when looking from the
|
||||
monochromator)
|
||||
\\
|
||||
\hline
|
||||
D1L, S1L
|
||||
&
|
||||
S3S
|
||||
&
|
||||
14 (2, 3)
|
||||
&
|
||||
diaphragm 1 (nearest to mono drum) &
|
||||
movement of the left aperture (when looking from the
|
||||
monochromator)
|
||||
\\
|
||||
\hline
|
||||
D1V, S1V
|
||||
&
|
||||
ACH
|
||||
&
|
||||
15 (3, 3)
|
||||
&
|
||||
diaphragm 1 (nearest to mono drum) &
|
||||
vertical movement of either the upper or lower aperture
|
||||
(depends on which one is connected)
|
||||
\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
-->
|
||||
|
||||
|
||||
<!--latex
|
||||
\begin{table}
|
||||
\caption{TOPSI motors 3}
|
||||
\label{t3}
|
||||
\begin{tabular}{|p{2cm}|p{2cm}|p{2cm}|p{4cm}|p{4cm}|}
|
||||
\hline
|
||||
D2R, S2R
|
||||
&
|
||||
ATL
|
||||
&
|
||||
17 (5, 3)
|
||||
&
|
||||
diaphragm 2 &
|
||||
movement of the right aperture (when looking from the
|
||||
monochromator)
|
||||
\\
|
||||
\hline
|
||||
D2L, S2L
|
||||
&
|
||||
ATU
|
||||
&
|
||||
18 (6, 3)
|
||||
&
|
||||
diaphragm 2 &
|
||||
movement of the left aperture (when looking from the
|
||||
monochromator)
|
||||
\\
|
||||
\hline
|
||||
Standard alias mnemonic & TASMAD mnemonic & Motor \# (motor \# on
|
||||
controller & Location of motor digitizer & Function\\
|
||||
\hline
|
||||
\hline
|
||||
D2V, S2V
|
||||
&
|
||||
AGL
|
||||
&
|
||||
19 (7, 3)
|
||||
&
|
||||
diaphragm 2 &
|
||||
vertical movement of either the upper or lower aperture
|
||||
(depends on which one is connected)
|
||||
\\
|
||||
\hline
|
||||
D3R, S3R
|
||||
&
|
||||
MCH
|
||||
&
|
||||
21 (9, 3)
|
||||
&
|
||||
diaphragm 3 (nearest to detector) &
|
||||
movement of the right aperture (when looking from the
|
||||
monochromator)
|
||||
\\
|
||||
\hline
|
||||
D3L, S3L
|
||||
&
|
||||
ACH
|
||||
&
|
||||
22 (10, 3)
|
||||
&
|
||||
diaphragm 3 (nearest to detector) &
|
||||
movement of the left aperture (when looking from the
|
||||
monochromator)
|
||||
\\
|
||||
\hline
|
||||
D3V, S3V
|
||||
&
|
||||
CCH
|
||||
&
|
||||
23 (11, 3)
|
||||
&
|
||||
diaphragm 3 (nearest to detector) &
|
||||
vertical movement of either the upper or lower aperture
|
||||
(depends on which one is connected)
|
||||
\\
|
||||
\hline
|
||||
UTY
|
||||
&
|
||||
A5
|
||||
&
|
||||
16 (4, 3)
|
||||
&
|
||||
lowermost on multireflection table &
|
||||
horizontal translation of multireflection yoke (perpendicular
|
||||
to detector arm)
|
||||
\\
|
||||
\hline
|
||||
UTZ
|
||||
&
|
||||
A6
|
||||
&
|
||||
20 (8, 3)
|
||||
&
|
||||
uppermost on multireflection table &
|
||||
vertical translation of multireflection yoke (perpendicular
|
||||
to detector arm)
|
||||
\\
|
||||
\hline
|
||||
UTT
|
||||
&
|
||||
MGU
|
||||
&
|
||||
24 (12, 3)
|
||||
&
|
||||
between support base and detector arm &
|
||||
fine translation of detector arm
|
||||
\\
|
||||
\hline
|
||||
AUX
|
||||
&
|
||||
|
||||
&
|
||||
10 (10, 2)
|
||||
&
|
||||
auxiliary &
|
||||
for additional motors, for instance a vertical translation
|
||||
stage on sample cradle
|
||||
\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
-->
|
||||
|
||||
<H2>Counters </H2>
|
||||
|
||||
<P>There is only one named counter. </P>
|
||||
|
||||
<H2>Variables</H2>
|
||||
|
||||
<h2>Variables</h2>
|
||||
<p>
|
||||
<DL>
|
||||
<DT>Instrument
|
||||
<DD> holds the name of the Instrument, in SANS case: "SANS at SINQ, PSI".
|
||||
This cannot be changed by ordinary members of the public.
|
||||
<DT>Title
|
||||
<DD> the title of the instrument. This will be written to the output file.
|
||||
Should be set by the user to something sensible.
|
||||
<DT>User
|
||||
<DT>Instrument </DT>
|
||||
|
||||
<DD>holds the name of the Instrument, in SANS case: SANS at SINQ,
|
||||
PSI. This cannot be changed by ordinary members of the public. </DD>
|
||||
|
||||
<DT>Title </DT>
|
||||
|
||||
<DD>the title of the experiment. This will be written to the output file.
|
||||
Should be set by the user to something sensible. </DD>
|
||||
|
||||
<DT>User </DT>
|
||||
|
||||
<DD>the user of the instrument. This will be written to the output file.
|
||||
Should be set by the user to something sensible.
|
||||
<DT>Comment1
|
||||
<DD> one line of comment to be written to the outputfile.
|
||||
Should be set by the user to something sensible.
|
||||
<DT>Comment2
|
||||
<DD> another line of comment to be written to the outputfile.
|
||||
Should be set by the user to something sensible.
|
||||
<DT>environment
|
||||
<DD> a line of text describing special environment conditions to be written
|
||||
to the output file. This is for those cases where the sample environment is not
|
||||
computer controlled and therefore not visible to the program. Users are
|
||||
responsible for filling this in.
|
||||
Should be set by the user to something sensible. </DD>
|
||||
|
||||
<DT>Comment1 </DT>
|
||||
|
||||
<DD>one line of comment to be written to the outputfile. Should be set
|
||||
by the user to something sensible. </DD>
|
||||
|
||||
<DT>Comment2 </DT>
|
||||
|
||||
<DD>another line of comment to be written to the outputfile. Should be
|
||||
set by the user to something sensible. </DD>
|
||||
|
||||
<DT>environment </DT>
|
||||
|
||||
<DD>a line of text describing special environment conditions to be written
|
||||
to the output file. This is for those cases where the sample environment
|
||||
is not computer controlled and therefore not visible to the program. Users
|
||||
are responsible for filling this in. </DD>
|
||||
</DL>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<!--latex-off-->
|
||||
<dl>
|
||||
<DD>
|
||||
<HR WIDTH="100%"></DD>
|
||||
|
||||
<P><A HREF="http://www1.psi.ch/www_sinq_hn/Welcome_SINQ.html"><IMG SRC="left.gif" LOWSRC="up.gif" NOSAVE HEIGHT=31 WIDTH=31></A><B><A HREF="http://www1.psi.ch/www_sinq_hn/Welcome_SINQ.html">
|
||||
SINQ Home Page</A></B> <A HREF="file:/home/TOPSI/doc/topsi.htm"><IMG SRC="Topsi_s.GIF" LOWSRC="up.gif" NOSAVE HEIGHT=31 WIDTH=31></A><A HREF="file:/home/TOPSI/doc/topsi.htm">
|
||||
<B>TOPSI User Manual Home Page</B></A></P>
|
||||
|
||||
<DD><I><A HREF="http://www1.psi.ch/www_lns_hn/lns/adr/LNS_Clemens.html">D.
|
||||
Clemens</A> ,</I> <A NAME="bottom_of_page"></A><I>Last Modified :
|
||||
4.5.1998</I></DD>
|
||||
</dl>
|
||||
<!--latex-on-->
|
||||
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
|
||||
|
||||
|
@ -8,9 +8,9 @@
|
||||
<p>TOPSI controls a couple of :
|
||||
<UL>
|
||||
<LI><a href= motor.htm>motors</a>.
|
||||
<a href = counter.htm>counter box</a> for
|
||||
reading monitors.
|
||||
<LI> and various
|
||||
<li>A <a href = counter.htm>counter box</a> for
|
||||
reading monitors and the single counter.
|
||||
<LI>various
|
||||
<a href = samenv.htm>environment.htm</a> control devices.
|
||||
</UL>
|
||||
Each of these
|
||||
|
@ -7,6 +7,12 @@
|
||||
<h1>The Scan Command </h1>
|
||||
<hr size=4 width="66%">
|
||||
<p>
|
||||
An important concept in neutron scattering instrument control is a
|
||||
"scan". For a simple scan a range of instrument positions is divided
|
||||
into equidistant steps. The instrument then proceeds to drive to each
|
||||
of these points and collects data at each of them.
|
||||
</p>
|
||||
<p>
|
||||
The general idea of the scan object for TOPSI is, that you configure the
|
||||
scan by typing commands at the command line. Once, the configuration is
|
||||
finished the requested scan is started. A data file will be written
|
||||
@ -59,7 +65,7 @@ cscan var center delta np preset
|
||||
</BLOCKQUOTE>
|
||||
All parameters must be specified. The parameters and their meanings:
|
||||
<UL>
|
||||
<LI><b>var</b> is the varibale which is to be center scanned.
|
||||
<LI><b>var</b> is the variable which is to be center scanned.
|
||||
Only one can be specified.
|
||||
<LI><b>center</b> is the value to use as center of the scan.
|
||||
<LI><b>delta</b> is the step width to use for the scan.
|
||||
@ -79,10 +85,11 @@ sscan var1 start end var2 start end ... np preset
|
||||
All parameters must be specified. The parameters and their meanings:
|
||||
<UL>
|
||||
<LI><b>var1 start end</b> This is how the variables to scan are specified. For
|
||||
each variable scanned a triplet must be given which consists of the name of the
|
||||
variable, the start value and the end value of the scan. More then one triplet
|
||||
each variable scanned the name of the
|
||||
variable, the start value and the end value of the scan must be
|
||||
given. More then one triplet
|
||||
can be given in order to allow for several scan variables.
|
||||
<LI><b>np</b> is the number of points to scan in each direction.
|
||||
<LI><b>np</b> is the number of points to scan.
|
||||
<LI><b>preset</b> is the preset to use for the counter. As the counter mode,
|
||||
the mode currently configured active in the scan object is used.
|
||||
</UL>
|
||||
@ -94,7 +101,8 @@ the results of the last scan still in memory. The command <b>peak</b> prints
|
||||
the position, FWHM and maximum value of the peak in the last scan. The
|
||||
command <b>center</b> drives the first scan variable to the peak center of the
|
||||
last scan. Both peak and center use a rather simple but effective method for
|
||||
locating peaks. The prerequisite is that the peak is about gauss shaped. The
|
||||
locating peaks. The prerequisite is that the peak is approximatly
|
||||
gaussian shaped. The
|
||||
algorithm first locates the peak maximum. Then it goes to the left and
|
||||
right of the maximum and tries to find the points of half maximum peak height.
|
||||
The two points are interpolated from the data and the peak position
|
||||
|
@ -14,8 +14,18 @@ to be solved are:
|
||||
<li>Measure a couple of reflections.
|
||||
<li>Furthermore there are some specialities.
|
||||
</ul>
|
||||
</P>
|
||||
<h2>Locate Reflections</h2>
|
||||
There are two ways to achieve all this: The older way uses some built in SICS functionality plus some external prograsm inherited from the ILL. This is called the ILL operation. Then a complete four circle packaage called DIFRAC from P. White and Eric Gabe was integrated into SICS. Thsi is The Difrac way of operation.
|
||||
</p>
|
||||
<h2>DIFRAC</h2>
|
||||
<p>
|
||||
The DIFRAC commands are accessed by prepending the difrac commands
|
||||
with <b>dif</b>. For example: "dif td" calls the difrac td
|
||||
command. For more information on DIFRAC commands see the separate
|
||||
DIFRAC manual.
|
||||
</p>
|
||||
|
||||
<h2>ILL operation</h2>
|
||||
<h3>Locate Reflections</h3>
|
||||
<p>
|
||||
If you know x-ray single crystal diffractometers you'll expect sophisticated
|
||||
reflection search procedures here. Nothing is available in this field in
|
||||
@ -53,12 +63,12 @@ accomplished with the object rliste which has the following subcommands:
|
||||
<DD>Writes the contents of the reflection list to the file specified.
|
||||
</DL>
|
||||
</p>
|
||||
<h2>Indexing Reflections and Refining UB-Matrix</h2>
|
||||
<h3>Indexing Reflections and Refining UB-Matrix</h3>
|
||||
<p>
|
||||
For these purposes the external programs <a href="illprog.txt">INDEX and
|
||||
RAFIN </a> are provided. These programs are courtesy of the ILL, France.
|
||||
</p>
|
||||
<h2>Measuring Reflections</h2>
|
||||
<h3>Measuring Reflections</h3>
|
||||
<p>
|
||||
Before measuring reflections a list of reflections to measure must be
|
||||
created. This is done with the external program
|
||||
|
@ -18,7 +18,7 @@
|
||||
\begin{huge}
|
||||
TRICS--Reference Manual \\
|
||||
\end{huge}
|
||||
Version November, 1998\\
|
||||
Version February, 2000\\
|
||||
Dr. Mark K\"onnecke \\
|
||||
Labor f\"ur Neutronenstreuung\\
|
||||
Paul Scherrer Institut\\
|
||||
|
@ -89,24 +89,24 @@ detectors.
|
||||
|
||||
This chapter contains information about:
|
||||
\begin{itemize}
|
||||
\item Basic SICS concepts (cf.\ Section~\ref{f4})
|
||||
\item Driving motors (cf.\ Section~\ref{f5})
|
||||
\item Configuring motor parameters (cf.\ Section~\ref{f6}).
|
||||
\item TRICS motor list (cf.\ Section~\ref{f7}).
|
||||
\item Counting and monitors (cf.\ Section~\ref{f8}).
|
||||
\item Sample Environment Device Control (cf.\ Section~\ref{f9}).
|
||||
\item Log I/O to a client logfile (cf.\ Section~\ref{f10}) at the server, all
|
||||
command output to a commandlog (cf.\ Section~\ref{f11}) or to your local
|
||||
\item Basic SICS concepts (cf.\ Section~\ref{f5})
|
||||
\item Driving motors (cf.\ Section~\ref{f6})
|
||||
\item Configuring motor parameters (cf.\ Section~\ref{f7}).
|
||||
\item TRICS motor list (cf.\ Section~\ref{f8}).
|
||||
\item Counting and monitors (cf.\ Section~\ref{f9}).
|
||||
\item Sample Environment Device Control (cf.\ Section~\ref{f10}).
|
||||
\item Log I/O to a client logfile (cf.\ Section~\ref{f11}) at the server, all
|
||||
command output to a commandlog (cf.\ Section~\ref{f12}) or to your local
|
||||
machine using the open log file option in the File menu of the
|
||||
SICS command line client.
|
||||
\item Doing batch processing using batch files (cf.\ Section~\ref{f12}) or the LNS
|
||||
specific R\"unbuffer (cf.\ Section~\ref{f13}) system.
|
||||
\item Doing batch processing using batch files (cf.\ Section~\ref{f13}) or the LNS
|
||||
specific R\"unbuffer (cf.\ Section~\ref{f14}) system.
|
||||
\item {\bf Interrupt} SICS by hitting the interrupt button near the bottom of
|
||||
the SICS command line client.
|
||||
\item How to perform crystallographic computations (cf.\ Section~\ref{f14}) online.
|
||||
\item How to perform crystallographic computations (cf.\ Section~\ref{f15}) online.
|
||||
\item Some specialist commands for configuring certain aspects of your
|
||||
client connection (cf.\ Section~\ref{f15}) and for in depth interaction with
|
||||
the SICS server (cf.\ Section~\ref{f16}).
|
||||
client connection (cf.\ Section~\ref{f16}) and for in depth interaction with
|
||||
the SICS server (cf.\ Section~\ref{f17}).
|
||||
\end{itemize}
|
||||
|
||||
% html: End of file: `tricsgen.htm'
|
||||
@ -114,20 +114,31 @@ the SICS server (cf.\ Section~\ref{f16}).
|
||||
|
||||
\section{Basic SICS concepts}
|
||||
|
||||
\label{f4}
|
||||
\label{f5}
|
||||
|
||||
|
||||
\subsection{General structure}
|
||||
|
||||
|
||||
|
||||
SICS is a client server system. The application the user sees is usually some form of client. A client has two tasks: the first is to collect user input and send it to the SICS server who will execute the command. The clients second task is to listen to the the server messages and display them in a readable format. This aoproach has two advantages: clients can reside on machines across the whole network thus enabling remote control from everywhere in the world. The second advantage is that new clients (such as graphical user interface clients) can be written in any feasible language without changes to the server.
|
||||
SICS is a client server system. The application the user sees is
|
||||
usually some form of client. A client has two tasks: the first is to
|
||||
collect user input and send it to the SICS server which then executes
|
||||
the command. The clients second task is to listen to the the server
|
||||
messages and display them in a readable format. This aproach has two
|
||||
advantages: clients can reside on machines across the whole network
|
||||
thus enabling remote control from everywhere in the world. The second
|
||||
advantage is that new clients (such as graphical user interface
|
||||
clients) can be written in any feasible language without changes to
|
||||
the server.
|
||||
|
||||
\subsection{SICS Command Syntax }
|
||||
|
||||
|
||||
|
||||
SICS is an object oriented system. This is reflected in the command syntax. SICS objects can be devices such as motors or counters, variables such as wavelength or Title and measurement procedures. Communication with these objects happens by sending messages to the target object. This is very simply done by typing something like: object message par1 par2 .. parn. For example, if we have a motor called A1:\begin{verbatim}
|
||||
SICS is an object oriented system. This is reflected in the command
|
||||
syntax. SICS objects can be devices such as motors, single
|
||||
counters, histogram memories or other hardware variables such as wavelength or Title and measurement procedures. Communication with these objects happens by sending messages to the target object. This is very simply done by typing something like: object message par1 par2 .. parn. For example, if we have a motor called A1:\begin{verbatim}
|
||||
A1 list
|
||||
\end{verbatim}
|
||||
will print a parameter listing for the motor A1. In this example no parameters were needed. There exist a number of one-word commands as well. For
|
||||
@ -145,7 +156,10 @@ convention.
|
||||
|
||||
|
||||
|
||||
A client server system is potentially open to unauthorised hackers which might mess up the instrument and your valuable measurements. A known problem in instrument control is that less knowledgeable user accidentally change instrument adjustments which should better be left fixed. In order to solve these two problems SICS supports authorisation on a very fine level. As a user you have to specify a username and password in order to able to access SICS. Some clients already do this for you automatically. SICS support four levels of access to an instrument:
|
||||
A client server system is potentially open to unauthorised hackers
|
||||
who might mess up the instrument and your valuable measurements. A
|
||||
known problem in instrument control is that less knowledgeable user
|
||||
accidentally change instrument parameters which ought to be left fixed. In order to solve these two problems SICS supports authorisation on a very fine level. As a user you have to specify a username and password in order to able to access SICS. Some clients already do this for you automatically. SICS support four levels of access to an instrument:
|
||||
\begin{itemize}
|
||||
\item {\bf Spy } may look at everything, request any value, but may not actually change anything. No damage potential here.
|
||||
\item {\bf User } is privileged to perform a certain amount of operations necessary to run the instrument.
|
||||
@ -174,29 +188,29 @@ at the Unix prompt. Before this program is ready to collaborate with you you
|
||||
have to connect it to an instrument using the options in the connect
|
||||
pulldown menu. The screen is roughly divided in three areas: The top area
|
||||
shows all input to and output from the server. The middle area shows the
|
||||
command history. At the lower end is a text entry field which allows to type
|
||||
commands to the SICS server. For more information about this client consult
|
||||
command history. At the lower end is a text entry field which allows you to type
|
||||
commands to be sent to the SICS server. For more information about this client consult
|
||||
the online help of this application.
|
||||
% html: End of file: `basic.htm'
|
||||
% html: Beginning of file: `drive.htm'
|
||||
|
||||
\section{Drive commands}
|
||||
|
||||
\label{f5}
|
||||
\label{f6}
|
||||
|
||||
Many objects in SICS are {\bf drivable }. This means they can run to a new value. Obvious examples are motors. Less obvious examples include composite adjustments such as setting a wavelength or an energy. This class of objects can be operated by the {\bf drive, run, Success } family of commands. These commands cater for blocking and non-blocking modes of operation.
|
||||
|
||||
{\bf run var newval var newval ... } can be called with one to n pairs of object new value pairs. This command will set the variables in motion and return to the command prompt without waiting for the requested operations to finish. This feature allows to do things to the instrument while perhaps a slow device is running into position.
|
||||
{\bf run var newval var newval ... } can be called with one to n pairs of object new value pairs. This command will set the variables in motion and return to the command prompt without waiting for the requested operations to finish. This feature allows to operate other devices of the instrument while perhaps a slow device is still running into position.
|
||||
|
||||
{\bf Success } waits and blocks the command connection until all pending operations have finished (or an interrupt occured).
|
||||
|
||||
{\bf drive var newval var newval ... } can be called with one to n pairs of object new value pairs. This command will set the variables in motion and wait until the driving has finished. A drive can be seen as a sequence of a run command as stated above immediatetly followed by a Success command.
|
||||
{\bf drive var newval var newval ... } can be called with one to n pairs of object new value pairs. This command will set the variables in motion and wait until the driving has finished. A drive can be seen as a sequence of a run command as stated above immediatly followed by a Success command.
|
||||
% html: End of file: `drive.htm'
|
||||
% html: Beginning of file: `motor.htm'
|
||||
|
||||
\section{SICS motor handling}
|
||||
|
||||
\label{f6}
|
||||
\label{f7}
|
||||
|
||||
|
||||
In SICS each motor is an object with a name. Motors may take commands which basically come in the form {\em motorname command }. Most of these commands deal with the plethora of parameters which are associated with each motor. The syntax for manipulating variables is, again, simple. {\em Motorname parametername } will print the current value of the variable. {\em Motorname parametername newval } will set the parameter to the new value specified. A list of all parameters and their meanings is given below. The general principle behind this is that the actual (hardware) motor is kept as stupid as possible and all the intracacies of motor control are dealt with in software. Besides the parameter commands any motor understands these basic commands:
|
||||
@ -206,11 +220,14 @@ the online help of this application.
|
||||
This is software zero to 0.0 and software limits are reset to hardware
|
||||
limits.
|
||||
\item {\bf Motorname position} prints the current position of the motor.
|
||||
All zero point and sign corrections are applied.
|
||||
\item {\bf Motorname hardposition} prints the current position of the motor.
|
||||
No corrections are applied. Should read the same as the controller box.
|
||||
\item {\bf Motorname interest} initiates automatic printing of any position
|
||||
change of the motor. This command is mainly interesting for implementors of
|
||||
status display clients.
|
||||
\end{itemize}
|
||||
Please note that the actual driving of the motor is done via the drive (cf.\ Section~\ref{f5}) command.
|
||||
Please note that the actual driving of the motor is done via the drive (cf.\ Section~\ref{f6}) command.
|
||||
|
||||
|
||||
\subsection{The motor parameters}
|
||||
@ -222,13 +239,14 @@ status display clients.
|
||||
\item {\bf SoftLowerLim } is the software lower limit. This can be defined by the user in order to restrict instrument movement in special cases.
|
||||
\item {\bf SoftUpperLim } is the software upper limit. This can be defined by the user in order to restrict instrument movement in special cases.
|
||||
\item {\bf SoftZero } defines a software zero point for the motor. All further movements will be in respect to this zeropoint.
|
||||
\item {\bf Fixed } can be greater 0 for the motor being fixed and less
|
||||
or equal than zero for the motor being movable.
|
||||
\item {\bf InterruptMode } defines the interrupt to issue when the motor fails. Some motors are so critical for the operation of the instrument that all operations shall be stopped when there is a problem. Other are less critical. This criticallity is expressed in terms of interrupts, denoted by integers in the range 0 - 4 translating into the interrupts: continue, AbortOperation, AbortScan, AbortBatch and Halt. This parameter can usually only be set by managers.
|
||||
\item {\bf Fixed } can be greater then 0 for the motor being fixed and less then
|
||||
or equal to zero for the motor being movable.
|
||||
\item {\bf InterruptMode } defines the interrupt to issue when the motor fails. Some motors are so critical for the operation of the instrument that all operations are to be stopped when there is a problem. Other are less critical. This criticallity is expressed in terms of interrupts, denoted by integers in the range 0 - 4 translating into the interrupts: continue, AbortOperation, AbortScan, AbortBatch and Halt. This parameter can usually only be set by
|
||||
managers.
|
||||
\item {\bf Precision } denotes the precision to expect from the motor in positioning. Can usually only be set by managers.
|
||||
\item {\bf AccessCode } specifies the level of user privilege necessary to operate the motor. Some motors are for adjustment only and can be harmful to move once the adjustment has been done. Others must be moved for the experiment. Values are 0 - 3 for internal, manager, user and spy. This parameter can only be changed by managers.
|
||||
\item {\bf Speed }, defunct.
|
||||
\item {\bf Sign } allows to reverse the operating sense of the motor. For cases where electricians and not physicists have defined the operating sense of the motor. Usually a parameter not to be changed by ordinary users.
|
||||
\item {\bf Sign } reverses the operating sense of the motor.
|
||||
For cases where electricians and not physicists have defined the operating sense of the motor. Usually a parameter not to be changed by ordinary users.
|
||||
\end{itemize}
|
||||
|
||||
|
||||
@ -237,7 +255,7 @@ or equal than zero for the motor being movable.
|
||||
|
||||
\section{TRICS Motors}
|
||||
|
||||
\label{f7}
|
||||
\label{f8}
|
||||
|
||||
This chapter has still to be defined as there is a war waging in LNS about
|
||||
names. Final names will be entered after the end of hostilities. More then
|
||||
@ -255,32 +273,40 @@ you have to do with:
|
||||
|
||||
\section{SICS counter handling}
|
||||
|
||||
\label{f8}
|
||||
\label{f9}
|
||||
|
||||
|
||||
This section deals with the SICS interface to single counters.
|
||||
Where the SICS counter concept may include several monitors per
|
||||
counter. A counter is, again, a named object which takes commands.
|
||||
A word or two has to be lost about the SICS handling of preset values for counters.
|
||||
Two modes of operation have to be distinguished: counting until a timer has passed,
|
||||
for example: count for 20 seconds. This mode is called timer mode. In the other
|
||||
mode, counting is continued until a control monitor has reached a certain
|
||||
A counter in SICS is a controller which operates single neutron
|
||||
counting tubes and monitors.
|
||||
A counter can operate in one out of two modes: counting until a timer has
|
||||
passed,
|
||||
for example: count for 20 seconds. Counting in this context means that the noutrons coming in during these 20 seconds are summed together. This mode is called timer mode. In the other
|
||||
mode, counting is continued until a specified neutron monitor has
|
||||
reached a certain
|
||||
preset value. This mode is called Monitor mode. The preset values in Monitor
|
||||
mode are usually very large. Therefore the counter has an exponent data variable.
|
||||
Values given as preset are effectively 10 to the power of this exponent. For
|
||||
instance if the preset is 25 and the exponent is 6, then counting will be
|
||||
continued until the monitor has reached 25 million. Note, that this scheme with
|
||||
the exponent is only in operation in Monitor mode.
|
||||
The commands understood are:
|
||||
Again, in SICS the counter is an object which understands a set of
|
||||
commands:
|
||||
\begin{itemize}
|
||||
\item {\bf countername SetPreset val } sets the counting preset to val.
|
||||
\item {\bf countername GetPreset } prints the current preset value.
|
||||
\item {\bf countername preset val} With a parameter sets the preset, without inquires the preset value. This is a duplicate of getpreset and setpreset which has been provided for consistency with other commands.
|
||||
\item {\bf countername SetExponent val } sets the exponent for the counting
|
||||
preset in monitor mode to val.
|
||||
\item {\bf countername GetExponent } prints the current exponent used
|
||||
in monitor mode.
|
||||
\item {\bf countername SetMode val } sets the counting mode to val. Possible values are Timer for timer mode operation and Monitor for waiting for a monitor to reach a certain value.
|
||||
\item {\bf countername GetMode } prints the current mode.
|
||||
\item {\bf countername mode val} With a parameter sets the mode,
|
||||
without inquires the mode value. This is a duplicate of getmode and
|
||||
setmode which has been provided for consistency with other
|
||||
commands. Possible values for val are either monitor or timer.
|
||||
\item {\bf countername SetExponent val } sets the exponent for the counting
|
||||
preset in monitor mode to val.
|
||||
\item {\bf countername GetCounts } prints the counts gathered in the last run.
|
||||
\item {\bf countername GetMonitor n } prints the counts gathered in the monitor number n in the last run.
|
||||
\item {\bf countername Count preset } starts counting in the current mode and the the preset preset.
|
||||
@ -298,6 +324,12 @@ paused.
|
||||
monitor to use as control monitor in monitor mode, it allows to choose
|
||||
the monitor used for pausing the count when the count rate is below the
|
||||
threshold (Who on earth designed this?)
|
||||
\item {\bf countername send arg1 arg2 arg3 ...} sends everything behind
|
||||
send to the counter controller and returns the reply of the counter
|
||||
box. The command set to use after send is the command set documented
|
||||
for the counter box elsewhere. Through this feature it is possible to
|
||||
diretclly configure certain variables of the counter controller from
|
||||
within SICS.
|
||||
\end{itemize}
|
||||
|
||||
% html: End of file: `counter.htm'
|
||||
@ -305,12 +337,12 @@ paused.
|
||||
|
||||
\section{ Sample Environment Devices}
|
||||
|
||||
\label{f9}
|
||||
\label{f10}
|
||||
|
||||
|
||||
\subsection{SICS Concepts for Sample Environment Devices}
|
||||
|
||||
\label{f9:concept}
|
||||
\label{f10:concept}
|
||||
|
||||
SICS can support any type of sample environment control device if there is a
|
||||
driver for it. This includes temperature controllers, magnetic field controllers
|
||||
@ -323,8 +355,8 @@ reasonable default parameters.
|
||||
|
||||
In the SICS model
|
||||
a sample environment device has in principle two modes of operation. The first
|
||||
is the drive modus. The device is monitored in this modus when a new value for it
|
||||
has been requested. The second modus is the monitor modus. This modus is entered
|
||||
is the drive mode. The device is monitored in this mode when a new value for it
|
||||
has been requested. The second mode is the monitor mode. This mode is entered
|
||||
when the device has reached its target value. After that, the device must be
|
||||
continously monitored throughout any measurement. This is done through the
|
||||
environment monitor or {\bf emon}. The emon understands a few commands of its
|
||||
@ -344,13 +376,13 @@ section discussing the special devices known to the system.
|
||||
\subsection{SampleEnvironment Error Handling}
|
||||
|
||||
|
||||
A \label{f9:error}sample environment device may fail to stay at its preset value during a
|
||||
A \label{f10:error}sample environment device may fail to stay at its preset value during a
|
||||
measurement. This condition will usually be detected by the emon. The question
|
||||
is how to deal with this problem. The requirements for this kind of error
|
||||
handling are quite differntiated. The SICS model therefore implements several
|
||||
handling are quite different. The SICS model therefore implements several
|
||||
strategies for handling sample environment device failure handling.
|
||||
The strategy to use is selected via variable which can be set by the user for
|
||||
any sample environment device separatetly. Additional error handling strategies
|
||||
The strategy to use is selected via a variable which can be set by the user for
|
||||
any sample environment device separately. Additional error handling strategies
|
||||
can be added with a modest amount of programming. The error handling strategies currently
|
||||
implemented are:
|
||||
\begin{description}
|
||||
@ -363,7 +395,7 @@ user.
|
||||
|
||||
\subsection{General Sample Environment Commands}
|
||||
|
||||
\label{f9:general}
|
||||
\label{f10:general}
|
||||
|
||||
\subsubsection{EVFactory}
|
||||
|
||||
@ -401,10 +433,14 @@ out of tolerance errors on that device no longer be handled.
|
||||
\subsubsection{General
|
||||
Commands UnderStood by All Sample Environment Devices}
|
||||
|
||||
\label{f9:all}
|
||||
\label{f10:all}
|
||||
|
||||
Once the evfactory has been run successfully the controller is
|
||||
installed as an object in SICS. It is accessible as an object then
|
||||
under the name specified in the evfactory command. All environemnt
|
||||
object understand the common commands given below.
|
||||
Please note that each command discussed below MUST be prepended with the name
|
||||
of the environment device as configured in EVFavtory!
|
||||
of the environment device as configured in EVFactory!
|
||||
|
||||
The general commands understood by any environment controller can be subdivided
|
||||
further into parameter commands and real commands. The parameter commands just
|
||||
@ -413,7 +449,8 @@ set if a parameter is specified. For example:
|
||||
\begin{quotation}
|
||||
Temperature Tolerance\end{quotation}
|
||||
prints the value of the variable Tolerance for the environment controller
|
||||
Temperature.
|
||||
Temperature. This is in the same units as the controller operates,
|
||||
i. e. for a temperature controller Kelvin.
|
||||
\begin{quotation}
|
||||
Temperature Tolerance 2.0\end{quotation}
|
||||
sets the parameter Tolerance for Temperature to 2.0. Parameters known to ANY
|
||||
@ -438,7 +475,7 @@ Possible values are:
|
||||
\item 2 for Interrupt
|
||||
\item 3 for Safe.
|
||||
\end{itemize}
|
||||
For an explanantion of these values see the section about error (cf.\ Section~\ref{f9:error}) handling
|
||||
For an explanantion of these values see the section about error (cf.\ Section~\ref{f10:error}) handling
|
||||
above.
|
||||
\item[ Interrupt] The interrupt to issue when an error is detected and Interrupt error
|
||||
handling is set. Valid values are:
|
||||
@ -457,31 +494,42 @@ Safe error handling is set.
|
||||
Additionally the following commands are understood:
|
||||
\begin{description}
|
||||
\item[send par par ...] Sends everything after send directly to the controller and return its
|
||||
response. This is a general purpose command which allows to manipulate controllers
|
||||
response. This is a general purpose command for manipulating controllers
|
||||
and controller parameters directly. The protocoll for these commands is
|
||||
documented in the documentation for each controller. Ordinary users should
|
||||
not tamper with this. This facility is meant for setting up the device with
|
||||
calibrartion tables etc.
|
||||
calibration tables etc.
|
||||
\item[ list] lists all the parameters for this controller.
|
||||
\item[ no command, only name.] When only the name of the device is typed it will return its
|
||||
current value.
|
||||
\item[ name val ] will drive the device to the new value val. Please note that the same
|
||||
can be achieved by using the drive command.
|
||||
\item[ name log on] Switches logging on. If logging is on, at each cycle in the emon the
|
||||
\item[ name log on] Switches logging on. If logging is on, at each cycle in the
|
||||
{\bf emon}
|
||||
the
|
||||
current value of the environment variable will be recorded together with a
|
||||
time stamp. Be careful about this, for each log point a bit of memory is
|
||||
allocated. At some time the memory is exhausted! Log clear frees it again
|
||||
and log frequency (both below) allows to set the logging time intervall.
|
||||
allocated. At some time the memory is exhausted! {\bf Log clear}
|
||||
frees
|
||||
it again
|
||||
and {\bf log frequency} (both below)
|
||||
allows to set the logging time intervall.
|
||||
\item[ name log off] Switches logging off.
|
||||
\item[name log clear] Clears all recorded time stamps and values.
|
||||
\item[name log gettime] This command retrieves a list of all recorded time stamps.
|
||||
\item[name log getval] This command retrieves all recorded values.
|
||||
\item[name log getmean] Calculates the mean value and the standard deviation for all logged
|
||||
values and prints it.
|
||||
values and prints them.
|
||||
\item[name log frequency val] With a parameter sets, without a parameter requests the logging intervall
|
||||
for the log created. This parameter specifies the time intervall in seconds
|
||||
between log records. The default is 5 minutes. A value of 0 means a record any
|
||||
cycle of the SICServer.
|
||||
between log records. The default is 300 seconds.
|
||||
\item[name log file filename] Starts logging of value data to the file filename. All normal logging to
|
||||
memory will be
|
||||
disabled. Logging will happen any 5 minutes initially. The logging frequency
|
||||
can be changed with the name log frequency command. Each entry in the file is
|
||||
of the form date time value. The name of the file must be specified relative
|
||||
to the SICS server.
|
||||
\item[name log close ] Stops logging data to the file.
|
||||
\end{description}
|
||||
|
||||
\subsection{Special Environment Control Devices}
|
||||
@ -494,10 +542,11 @@ that special device. All of the general commands listed above work as well!
|
||||
|
||||
\subsubsection{ITC-4 and ITC-503 Temperature Controllers}
|
||||
|
||||
\label{f9:itc4}
|
||||
\label{f10:itc4}
|
||||
|
||||
These temperature controller are fairly popular at SINQ. It is manufactured by
|
||||
Oxford Instruments. At the back side of this controller there is a RS-232
|
||||
These temperature controller are fairly popular at SINQ. They are
|
||||
manufactured by
|
||||
Oxford Instruments. At the back of this controller is a RS-232
|
||||
socket which must be connected to a Macintosh computer running the SINQ
|
||||
terminal server program via a serial cable. Please make sure with a different
|
||||
Macintosh or a PC that the serial line is OK and the ITC-4 responding before
|
||||
@ -514,9 +563,9 @@ ITC-4 is expected to be connected to the serial port channel at the
|
||||
Macintosh computer computer running the SINQ terminal server program
|
||||
listening at port port. For example:
|
||||
\begin{quotation}
|
||||
EVFactory new Temp ITC4 lnsp22.psi.ch 4000 6\end{quotation}
|
||||
connects Temp to the Macintosh named lnsp22, serial port 5 (6 above is no typo!),
|
||||
listening at port 4000.
|
||||
EVFactory new Temp ITC4 lnsp22.psi.ch 4000 7\end{quotation}
|
||||
connects Temp to the Macintosh named lnsp22, serial port 6
|
||||
(7 above is no typo!), listening at port 4000.
|
||||
|
||||
\paragraph{ITC-4 Additional Parameters}
|
||||
|
||||
@ -525,14 +574,14 @@ The ITC-4 has a few more parameter commands:
|
||||
\begin{description}
|
||||
\item[timeout] Is the timeout for the Macintosh terminal server program waiting for
|
||||
responses from the ITC-4. Increase this parameter if error messages
|
||||
containg ?TMO creeping up.
|
||||
containg ?TMO appear.
|
||||
\item[ sensor] Sets the sensor number to be used for reading temperature.
|
||||
\item[ control] Sets the control sensor for the ITC-4. This sensor will be used
|
||||
internally for regulating the ITC-4.
|
||||
\item[divisor] The ITC4 does not understand floating point numbers, the ITC-503 does.
|
||||
In order to make ITC4's read and write temperatures correctly floating point
|
||||
values must be multiplied or divided with a magnitude of 10. This parameter
|
||||
determines the appropriate value for the sensor. Is usually 10 for a sensor
|
||||
determines the appropriate value for the sensor. It is usually 10 for a sensor
|
||||
with one value behind the comma or 100 for a sensor with two values after
|
||||
the comma.
|
||||
\item[multiplicator] The same meaning as the divisor above, but for the control sensor.
|
||||
@ -575,12 +624,15 @@ current one.
|
||||
|
||||
If the ITC-4 {\bf does not respond at all}, make sure the serial connection to
|
||||
the Macintosh is working. Use standard RS-232 debugging procedures for doing
|
||||
this. The not responding may also come up as a failure to connect to the ITC-4
|
||||
during startup.
|
||||
this. The not responding message may also come up as a failure to
|
||||
connect
|
||||
to the ITC-4 during startup.
|
||||
|
||||
If error messages containing the string {\bf ?TMO} keep creeping up followed
|
||||
by all signs of command not understood, then increase the timeout. The standard
|
||||
timeout of 10 microseconds is to short at times.
|
||||
If error messages containing the string {\bf ?TMO} keep appearing
|
||||
up followed
|
||||
by signs that the command has not been understood, then increase the
|
||||
timeout. The standard
|
||||
timeout of 10 microseconds can be to short sometimes.
|
||||
|
||||
You keep on reading {\bf wrong values} from the ITC4. Mostly off by a
|
||||
factor 10. Then set the divisor correctly. Or you may need to choose a
|
||||
@ -595,9 +647,10 @@ causes for this problem:
|
||||
\item The multiplicator for the control sensor was wrong and the ITC4 has now
|
||||
a set value which is different from your wishes. You should have got error
|
||||
messages then as you tried to start the ITC4.
|
||||
\item The software is reading back wrong temperature because the sensor and
|
||||
\item The software is reading back incorrect temperature values
|
||||
because the sensor and
|
||||
divisor parameters are badly configured. Try to read the temperature and if
|
||||
it does have nothing to do with reality, set parameters accordingly.
|
||||
it does have nothing to do with reality, set the parameters accordingly.
|
||||
\item The tolerance parameter is configured so low, that the ITC4 never
|
||||
manages to stay in that range. Can also be caused by inappropriate PID
|
||||
parameters in the ITC4.
|
||||
@ -612,9 +665,9 @@ within the tolerance. That is the temperature value you wanted after all.
|
||||
|
||||
\subsubsection{Haake Waterbath Thermostat}
|
||||
|
||||
\label{f9:haake}
|
||||
\label{f10:haake}
|
||||
|
||||
This is sort of a buck full of water equipped with a temperature
|
||||
This is sort of a bucket full of water equipped with a temperature
|
||||
control system. The RS-232 interface of this device can only be operated at
|
||||
4800 baud max. This is why it has to be connected to the serial printer port
|
||||
of the Macintosh serial port server computer. This makes the channel number to
|
||||
@ -628,7 +681,7 @@ initialisation parameters, second install the device with evfactory. A
|
||||
command procedure is supplied for the first step. Thus the initialisation
|
||||
sequence becomes:
|
||||
\begin{quotation}
|
||||
inihaakearray name-o-array macintosh-computer name port channel\newline
|
||||
inihaakearray name-of-array macintosh-computer name port channel\newline
|
||||
evfactory new temperature tcl name-of-array\end{quotation}
|
||||
An example for the SANS:
|
||||
\begin{quotation}
|
||||
@ -647,7 +700,7 @@ val can be either intern or extern.
|
||||
|
||||
\subsubsection{Dilution Cryostat}
|
||||
|
||||
\label{f9:dilu}
|
||||
\label{f10:dilu}
|
||||
|
||||
This is a large ancient device for reaching very low temperatures. This
|
||||
cryostat can be configured into SICS with the command:
|
||||
@ -677,7 +730,7 @@ digests.
|
||||
|
||||
\subsubsection{Bruker Magnet Controller B-EC-1}
|
||||
|
||||
\label{f9:bruker}
|
||||
\label{f10:bruker}
|
||||
|
||||
This is the Controller for the large magnet at SANS. The controller is a
|
||||
box the size of a chest of drawers. This controller can be operated in one
|
||||
@ -728,7 +781,7 @@ magnet field.
|
||||
|
||||
\subsubsection{The CryoFurnace.}
|
||||
|
||||
\label{f9:ltc11}
|
||||
\label{f10:ltc11}
|
||||
|
||||
The CryoFurnace at PSI is equipped with a Neocera LTC-11 temperature
|
||||
controller. This controller can control either an heater or an analag output
|
||||
@ -755,13 +808,13 @@ serial port 6 at lnsp18.
|
||||
|
||||
The additional commands understood by the LTC-11 controller are:
|
||||
\begin{description}
|
||||
\item[temperature sensor ] allows to query the current sensor used for temperature readout.
|
||||
\item[temperature sensor val ] allows to select the sensor val for temperature readout.
|
||||
\item[temperature controlanalog ] allows to query the sensor used for controlling the analog channel.
|
||||
\item[temperature controlanalog val ] allows to select the sensor val for controlling the analog channel.
|
||||
\item[temperature controlheat ] allows to query the sensor used for controlling the heater channel.
|
||||
\item[temperature controlheat val ] allows to select the sensor val for controlling the heater channel.
|
||||
\item[temperature mode] Allows to query if the LTC-11 controls the analog or heater channel.
|
||||
\item[temperature sensor ] queries the current sensor used for temperature readout.
|
||||
\item[temperature sensor val ] selects the sensor val for temperature readout.
|
||||
\item[temperature controlanalog ] queries the sensor used for controlling the analog channel.
|
||||
\item[temperature controlanalog val ] selects the sensor val for controlling the analog channel.
|
||||
\item[temperature controlheat ] queries the sensor used for controlling the heater channel.
|
||||
\item[temperature controlheat val ] selects the sensor val for controlling the heater channel.
|
||||
\item[temperature mode] queries if the LTC-11 is in analog or heater control mode.
|
||||
\end{description}
|
||||
|
||||
Further notes: As the CryoFurnace is very slow and the display at the
|
||||
@ -772,7 +825,7 @@ mode of the LTC-11 is possible by computer, but not yet fully understood and
|
||||
|
||||
\subsubsection{The Eurotherm Temperature Controller}
|
||||
|
||||
\label{f9:euro}
|
||||
\label{f10:euro}
|
||||
|
||||
At SANS there is a Eurotherm temperature controller for the sample heater.
|
||||
This and probably other Eurotherm controllers can be configured into SICS
|
||||
@ -805,23 +858,48 @@ to be configured manually. For details see the manual coming with the machine.
|
||||
environment controller could not be implemented.
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{The PSI-EL755 Magnet Controller}
|
||||
|
||||
\label{f10:el755}
|
||||
|
||||
This is magnet controller developed by the electronics group at
|
||||
PSI. It consists of a controller which interfaces to a couple of power
|
||||
supplies. The magnets are then connected to the power supplies. The
|
||||
magnetic field is not controlled directly but just the power output of
|
||||
the power supply. Also the actual output of the power supply is NOT
|
||||
read back but just the set value after ramping. This is a serious
|
||||
limitation because the computer cannot recognize a faulty power supply
|
||||
or magnet. The EL755 is connected to SICS with the command:
|
||||
\begin{quotation}
|
||||
evfactory new name el755 Mac-PC Mac-port Mac-channel index\end{quotation}
|
||||
with Mac-PC, Mac-port and Mac-channel being the usual data items for
|
||||
describing the location of the EL755-controller at the Macintosh
|
||||
serial port server. index is special and is the number of the power
|
||||
supply to which the magnet is connected. An example:
|
||||
\begin{verbatim}
|
||||
evfactory new maggi el755 lnsa09.psi.ch 4000 5 3
|
||||
\end{verbatim}
|
||||
connects to power supply 3 at the EL755-controller connected to lnsa09
|
||||
at channel 5. The magnet is then available in the system as maggi. No
|
||||
special commands are supported for the EL755.
|
||||
% html: End of file: `samenv.htm'
|
||||
% html: Beginning of file: `logbook.htm'
|
||||
|
||||
\section{LogBook command}
|
||||
|
||||
\label{f10}
|
||||
\label{f11}
|
||||
|
||||
Some users wish like to have all the input typed to SICS and all responses
|
||||
Some users like to have all the input typed to SICS and responses
|
||||
collected in a file for further review. This is implemented via the LogBook
|
||||
command. LogBook understands the following syntax:
|
||||
command. LogBook is actually a wrapper around the config file command.
|
||||
LogBook understands the following syntax:
|
||||
\begin{description}
|
||||
\item[ LogBook] alone prints the name of the current logfile and the status of event
|
||||
logging.
|
||||
\item[ LogBook file filename] This command sets the filename to which output will be printed.
|
||||
Please note that this new filename will only be in effect after restarting
|
||||
logging.
|
||||
\item[ LogBook on] This command turns loggin on. All commands and all answers will be
|
||||
\item[ LogBook on] This command turns logging on. All commands and all answers will be
|
||||
written to the file defined with the command described above. Please note,
|
||||
that this command will overwrite an existing file with the same name.
|
||||
\item[ LogBook off] This command closes the logfile and ends logging.
|
||||
@ -832,7 +910,7 @@ that this command will overwrite an existing file with the same name.
|
||||
|
||||
\section{The Commandlog}
|
||||
|
||||
\label{f11}
|
||||
\label{f12}
|
||||
|
||||
The commandlog is a file where all communication with clients
|
||||
having user or manager privilege is logged. This log allows to retrace each
|
||||
@ -849,6 +927,7 @@ the log directory.
|
||||
\item[commandlog auto] Switches automatic log file creation on. This is normally switched on.
|
||||
Log files are written to the log directory of the instrument account. There
|
||||
are time stamps any hour in that file and there is a new file any 24 hours.
|
||||
\item[commandlog tail n] prints the last n entries made into the command log. n is optional and defaults to 20. Up to 1000 lines are held in an internal buffer for this command.
|
||||
\end{description}
|
||||
|
||||
% html: End of file: `commandlog.htm'
|
||||
@ -856,13 +935,18 @@ Log files are written to the log directory of the instrument account. There
|
||||
|
||||
\section{Macro Commands}
|
||||
|
||||
\label{f12}
|
||||
\label{f13}
|
||||
|
||||
SICS has a built in macro facility. This macro facility is aimed at instrument managers and users alike. Instrument managers may provide customised measurement procedures in this language, users may write batch files in this language. The macro language is John Ousterhout's Tool Command Language (TCL). Tcl has control constructs, variables of its own, loop constructs, associative arrays and procedures. Tcl is well documented by several books and online tutorials, therefore no details on Tcl will be given here. All SICS commands are available in the macro language. Some potentially harmful Tcl commands have been deleted from the standard Tcl interpreter. These are: exec, source, puts, vwait, exit,gets and socket. The following commands allow access to the macro facility:
|
||||
SICS has a built in macro facility. This macro facility is aimed at instrument managers and users alike. Instrument managers may provide customised measurement procedures in this language, users may write batch files in this language. The macro language is John Ousterhout's Tool Command Language (TCL). Tcl has control constructs, variables of its own, loop constructs, associative arrays and procedures. Tcl is well documented by several books and online tutorials, therefore no details on Tcl will be given here. All SICS commands are available in the macro language. Some potentially harmful Tcl commands have been deleted from the standard Tcl interpreter. These are: exec, source, puts, vwait, exit,gets and socket. A macro or batch file can be executed with the command:
|
||||
|
||||
{\bf FileEval name } tries to open the file name and executes the script in this file. Please note that the server is configured via such a file.
|
||||
{\bf FileEval name } tries to open the file name and executes the script in this file.
|
||||
Then there are some special commands which can be used within macro-sripts:
|
||||
|
||||
{\bf ClientPut sometext1 ... } writes everything after ClientPut to the client which started the script. Useful for output to a client from macro scripts.
|
||||
{\bf ClientPut sometext1 ... } writes everything after ClientPut to
|
||||
the client which started the script. This is needed as SICS supresses
|
||||
the output from intermediate commands in scripts. Except error
|
||||
messages and warnings. With clientput this scheme can be circumvented
|
||||
and data be printed from within scripts.
|
||||
|
||||
{\bf SICSType object } allows to query the type of the object specified by object. Possible return values are
|
||||
\begin{itemize}
|
||||
@ -875,19 +959,32 @@ Log files are written to the log directory of the instrument account. There
|
||||
|
||||
{\bf SICSbounds var newval } checks if the new value newval lies within the limits for varaible var. Returns an error or OK depending on the result of the test.
|
||||
|
||||
{\bf SICSStatus var } SICS devices such as counters or motor may be started and left running while the program is free to do something else. This command allows to enquire the status of such a running device. Return values are internal SICS integer codes. This command is only of use for SICS programmers.
|
||||
{\bf SICSStatus var } SICS devices such as counters or motor may be
|
||||
started and left running while the program is free to do something
|
||||
else. This command inquires the status of such a running device. Return values are internal SICS integer codes. This command is only of use for SICS programmers.
|
||||
|
||||
{\bf SetStatus newval } allows to set the SICS status to one of: Eager, UserWait, Count, NoBeam, Driving, Running, Scanning, Batch Hatl or Dead. This command is only available in macros.
|
||||
{\bf SetStatus newval } sets the SICS status to one of: Eager, UserWait, Count, NoBeam, Driving, Running, Scanning, Batch Hatl or Dead. This command is only available in macros.
|
||||
|
||||
{\bf SetInt newval, GetInt } allow for the manipulation of interrupts from macro scripts. Not recommended! Possible return values or new values are: continue, abortop, abortscan, abortbatch, halt, free, end. This command is only permitted in macros. Should only be used by SICS programmers.
|
||||
{\bf SetInt newval, GetInt } sets SICS interrupts from macro scripts. Not recommended! Possible return values or new values are: continue, abortop, abortscan, abortbatch, halt, free, end. This command is only permitted in macros. Should only be used by SICS programmers.
|
||||
% html: End of file: `macro.htm'
|
||||
% html: Beginning of file: `buffer.htm'
|
||||
|
||||
\section{R\"unbuffer Commands}
|
||||
|
||||
\label{f13}
|
||||
\label{f14}
|
||||
|
||||
LNS scientists have got used to using R\"unbuffers for instrument control. A R\"unbuffer is an array of SICS commands which typically represent a measurement. This R\"unbuffer can be edited at run time. This is very similar to a macro. In contrast to a macro only SICS commands are allowed in R\"unbuffers. When done with editing the R\"unbuffer it can be entered in a R\"unlist. This is a stack of R\"unbuffers which get executed one by one. While this is happening it is possible (from another client) to modify the R\"unlist and edit and add additional R\"unbuffer on top of the stack. This allows for almost infinite measurement and gives more control than a static batch file. In order to cater for this scheme three commands have been defined:
|
||||
LNS scientists have got used to using R\"unbuffers for instrument
|
||||
control. A R\"unbuffer is an array of SICS commands which
|
||||
typically represent a measurement. This R\"unbuffer can be edited
|
||||
at run time. This is very similar to a macro. In contrast to a macro
|
||||
only SICS commands are allowed in R\"unbuffers. When done with
|
||||
editing the R\"unbuffer it can be entered in a R\"unlist. This
|
||||
is a stack of R\"unbuffers which get executed one by one. While
|
||||
this is happening it is possible (from another client) to modify the
|
||||
R\"unlist and edit and add additional R\"unbuffers on top of
|
||||
the stack. This allows for almost infinite measurement and gives more
|
||||
control than a static batch file. In order to cater for this scheme
|
||||
three commands have been defined:
|
||||
|
||||
The {\bf Buf } object is responsible for creating and deleting R\"unbuffers. The syntax is:
|
||||
\begin{itemize}
|
||||
@ -896,7 +993,8 @@ Log files are written to the log directory of the instrument account. There
|
||||
\item {\bf Buf del name } deletes the R\"unbuffer name.
|
||||
\end{itemize}
|
||||
|
||||
After creation, the R\"unbuffer is accessible by his name. It than understands the commands:
|
||||
After creation, the R\"unbuffer is accessible by his name. It
|
||||
then understands the commands:
|
||||
\begin{itemize}
|
||||
\item {\bf NAME append what shall we do with a drunken sailor } will add all text after append as a new line at the end of the R\"unbuffer.
|
||||
\item {\bf NAME print } will list the contents of the R\"unbuffer.
|
||||
@ -923,7 +1021,7 @@ Log files are written to the log directory of the instrument account. There
|
||||
|
||||
\section{4 Circle Diffractometer Setting Calculation}
|
||||
|
||||
\label{f14}
|
||||
\label{f15}
|
||||
|
||||
An essential part of operating a 4 circle diffractometer is the calculation
|
||||
of the setting angles for the diffractometer for a given reciprocal lattice
|
||||
@ -969,9 +1067,9 @@ Optionally a psi value and a hamilton position can be specified.
|
||||
|
||||
\section{Configuration Commands}
|
||||
|
||||
\label{f15}
|
||||
\label{f16}
|
||||
|
||||
SICS allows to change the user rights of the current client server connection, control the amount of output a client receives and to specify additional logfiles where output will be placed. All this is accessed through the following commands:
|
||||
SICS has a command for changing the user rights of the current client server connection, control the amount of output a client receives and to specify additional logfiles where output will be placed. All this is accessed through the following commands:
|
||||
|
||||
The SICS server logs all its activities to a logfile, regardless of what the user requested. This logfile is mainly intended to help in server debugging. However, clients may register an interest in certain server events and can have them displayed. This facility is accessed via the {\bf GetLog } command. It needs to be stressed that this log receives messages from {\bf all } active clients. GetLog understands the following messages:
|
||||
\begin{itemize}
|
||||
@ -990,7 +1088,7 @@ Optionally a psi value and a hamilton position can be specified.
|
||||
\item {\bf Value } Some commands return requested values to a user. These messages have an output code of Value.
|
||||
\end{itemize}
|
||||
|
||||
{\bf config } allows to configure various aspects of the current client server connection. Basically three things can be manipulated: The connections output class, the user rights associated with it, and output files.
|
||||
The {\bf config } command configures various aspects of the current client server connection. Basically three things can be manipulated: The connections output class, the user rights associated with it, and output files.
|
||||
|
||||
\begin{itemize} \item The command {\bf config OutCode val } sets the output code for the connection. By default all output is sent to the client. But a graphical user interface client might want to restrict message to only those delivering requested values and error messages and suppressing anything else. In order to achieve this, this command is provided. Possible values Values for val are Internal,Command, HWError,InError,Status, Error, Value. This list is hierarchical. For example specifying InError for val lets the client receive all messages tagged InError, Status, Error and Value, but not HWError, Command and Internal messages.
|
||||
\item Each connection between a client and the SICS server has user rights assocociated with it. These user rights can be configured at runtime with the command {\bf config Rights Username Password }. If a matching entry can be found in the servers password database new rights will be set.
|
||||
@ -1012,7 +1110,7 @@ rights.
|
||||
|
||||
\section{System Commands}
|
||||
|
||||
\label{f16}
|
||||
\label{f17}
|
||||
|
||||
{\bf Sics\_Exitus }. A single word commands which shuts the server down. Only Managers may use this command.
|
||||
|
||||
@ -1032,13 +1130,18 @@ server. This command is primarily of interest for status display client
|
||||
implementors.
|
||||
|
||||
{\bf backup file} saves the current values of SICS variables and selected
|
||||
motor and device parameters to the disk file specified as parameter. The
|
||||
path to this files is relative to the SICS server directory. The format
|
||||
of the file is a list of SICS commands to set all these parameters again.
|
||||
motor and device parameters to the disk file specified as
|
||||
parameter. If no file parameter is given the data is written to the
|
||||
system default status backup file.
|
||||
The format
|
||||
of the file is a list of SICS commands to set all these parameters
|
||||
again. The file is written on the instrument computer relative to the
|
||||
path of the SICS server. This is usually /home/INSTRUMENT/bin.
|
||||
|
||||
{\bf restore file} reads a file produced by the backup command described
|
||||
above and restores SICS to the state it was in when the status was saved with
|
||||
backup.
|
||||
backup. If no file argument is given the system default file gets
|
||||
read.
|
||||
% html: End of file: `system.htm'
|
||||
% html: Beginning of file: `tricsingle.htm'
|
||||
|
||||
@ -1053,9 +1156,24 @@ to be solved are:
|
||||
\item Locate Reflections
|
||||
\item Index reflections and refine a UB-matrix.
|
||||
\item Measure a couple of reflections.
|
||||
\item Furthermore there are some specialities.
|
||||
\end{itemize}
|
||||
There are two ways to achieve all this: The older way uses some built in SICS functionality plus some external prograsm inherited from the ILL. This is called the ILL operation. Then a complete four circle packaage called DIFRAC from P. White and Eric Gabe was integrated into SICS. Thsi is The Difrac way of operation.
|
||||
|
||||
\section{Locate Reflections}
|
||||
\section{DIFRAC}
|
||||
|
||||
|
||||
|
||||
The DIFRAC commands are accessed by prepending the difrac commands
|
||||
with {\bf dif}. For example: {\tt{}"{}}dif td{\tt{}"{}} calls the difrac td
|
||||
command. For more information on DIFRAC commands see the separate
|
||||
DIFRAC manual.
|
||||
|
||||
\section{ILL operation}
|
||||
|
||||
|
||||
|
||||
\subsection{Locate Reflections}
|
||||
|
||||
|
||||
|
||||
@ -1079,7 +1197,7 @@ Be aware that this is inprecise and liable to changes in the source current.
|
||||
But it may help to locate the aproximate position of a peak.
|
||||
|
||||
Once a peak has been found, its position can be optimised and centered with the
|
||||
peak optimiser (cf.\ Section~\ref{f17}).
|
||||
peak optimiser (cf.\ Section~\ref{f18}).
|
||||
|
||||
The next thing to do is to store the reflection and find other ones. Once a
|
||||
few reflections have been found, the need to be written to disk. This can be
|
||||
@ -1090,21 +1208,21 @@ accomplished with the object rliste which has the following subcommands:
|
||||
\item[rliste write file] Writes the contents of the reflection list to the file specified.
|
||||
\end{description}
|
||||
|
||||
\section{Indexing Reflections and Refining UB-Matrix}
|
||||
\subsection{Indexing Reflections and Refining UB-Matrix}
|
||||
|
||||
|
||||
|
||||
For these purposes the external programs INDEX and
|
||||
RAFIN are provided. These programs are courtesy of the ILL, France.
|
||||
|
||||
\section{Measuring Reflections}
|
||||
\subsection{Measuring Reflections}
|
||||
|
||||
|
||||
|
||||
Before measuring reflections a list of reflections to measure must be
|
||||
created. This is done with the external program
|
||||
HKLGEN. Then reflections this reflection list can
|
||||
be fed into SICS using the mess (cf.\ Section~\ref{f19}) command. mess
|
||||
be fed into SICS using the mess (cf.\ Section~\ref{f20}) command. mess
|
||||
creates two output files: a .col file containing the reflection profiles of
|
||||
all the relfections and a .dat files which contains the
|
||||
HKL,F,sig(F),TH,OM,CH,PH for each reflection. Intensity has then be
|
||||
@ -1113,21 +1231,29 @@ REFRED which allows to perform more advanced data reduction chores and has a
|
||||
choice of integration methods for reflection data. Please note, that SICS
|
||||
does not automatically measure standard reflections. It is your task to add
|
||||
suitable standard reflections into the reflection list.
|
||||
|
||||
\section{Special Commands}
|
||||
|
||||
|
||||
|
||||
As of current this section only holds the hklscan
|
||||
commmand (cf.\ Section~\ref{f21}) which allows to express a scan in Miller indizes. This is
|
||||
in fact a scan in reciprocal space.
|
||||
% html: End of file: `tricsingle.htm'
|
||||
% html: Beginning of file: `optimise.htm'
|
||||
|
||||
\section{The Peak Optimiser}
|
||||
|
||||
\label{f17}
|
||||
\label{f18}
|
||||
|
||||
In instrument control the need arises to optimise a peak with respect to
|
||||
In instrument control the need may arise to optimise a peak with respect to
|
||||
several variables. Optimising means finding the maximum of the peak with
|
||||
respect to several variables.
|
||||
This is usefull during instrument calibration.
|
||||
This is useful during instrument calibration, for example.
|
||||
Four circle diffractometers use this facility on a day to day basis
|
||||
for finding and verifying the exact position of reflections. In order to
|
||||
support both usages a more general module has been implemented. The way of
|
||||
operation is like this:
|
||||
support both usages a more general module has been implemented. The
|
||||
algorithm is like this:
|
||||
\begin{verbatim}
|
||||
while errors gt precision and cycles lt maxcycles
|
||||
for all variables
|
||||
@ -1474,7 +1600,7 @@ H H L
|
||||
|
||||
\section{Reflection List Processor}
|
||||
|
||||
\label{f19}
|
||||
\label{f20}
|
||||
|
||||
This section describes the means for doing a standard single counter four
|
||||
circle diffractometer measurement with SICS. A prerequisite for that is a
|
||||
@ -1534,6 +1660,16 @@ This object knows about the following parameters:
|
||||
omega2theta for omega two theta scans.
|
||||
\item[np] number of points to collect for each profile.
|
||||
\item[step] The step width in omega to use for scanning.
|
||||
\item[compact] Determines if the scan data output to the SICS is in normal
|
||||
(compact = 0) or condensed (compact = 1) form. The default is 1.
|
||||
\end{description}
|
||||
|
||||
mess supports two geometries: the first is the usual bisecting geometry. The
|
||||
second is the normal beam geometry where the detector is moved out of plane.
|
||||
This si accounted for by two switches:
|
||||
\begin{description}
|
||||
\item[mess bi] switches into bissectiong mode. This is the default.
|
||||
\item[mess nb] switches into normal beam mode.
|
||||
\end{description}
|
||||
|
||||
This object supports some file management functionality. It caters
|
||||
@ -1560,6 +1696,34 @@ the reflection file where processing should continue.
|
||||
\end{itemize}
|
||||
|
||||
% html: End of file: `mesure.htm'
|
||||
% html: Beginning of file: `hklscan.htm'
|
||||
|
||||
\section{Hklscan}
|
||||
|
||||
\label{f21}
|
||||
|
||||
Hklscan is a command which allows to scan in reciprocal space expressed as
|
||||
Miller indizes on a four circle diffractometer. Prerequisite for this is
|
||||
the existence of a scan object and the hkl-object for doing crystallographic
|
||||
calculations. Make sure the properties of the hkl object (UB, wavelength, NB)
|
||||
have some reasonable relation to reality, otherwise the diffractometer may
|
||||
travel to nowhere. Also it is a good idea to drive the diffractometer to the
|
||||
end points of the intended scan in reciprocal space. hklscan will abort if
|
||||
the requested scan violates diffractometer limits. The commands implemented
|
||||
are quite simple:
|
||||
\begin{description}
|
||||
\item[hklscan start fH fK fL] sets the start point for the HKL scan. Three values required, one for
|
||||
each reciprocal axis.
|
||||
\item[hklscan step sH sK Sl] sets the step width in reciprocal space. Three values required, one for
|
||||
each reciprocal axis.
|
||||
\item[hklscan run NP mode preset] executes the HKL scan. NP is the number of points to do, mode is the
|
||||
counting mode and can be either timer or monitor and preset is the preset
|
||||
value for the counter at each step.
|
||||
\end{description}
|
||||
Data is written automatically into a slightly modified TOPSI data format
|
||||
file. The status display with topsistatus or scanstatus might be slightly
|
||||
erratic as it uses two theta as x-axis.
|
||||
% html: End of file: `hklscan.htm'
|
||||
% html: Beginning of file: `tricspsd.htm'
|
||||
|
||||
\chapter{TRICS with Position Sensitive Detectors}
|
||||
@ -1570,8 +1734,8 @@ As there are no PSD's available for TRICS, not much can be found here.
|
||||
In terms of software the following pieces are already available:
|
||||
\begin{itemize}
|
||||
\item Instructions for dealing wih
|
||||
histogram memory (cf.\ Section~\ref{f20}).
|
||||
\item NeXus (cf.\ Section~\ref{f21}) data handling for TRICS.
|
||||
histogram memory (cf.\ Section~\ref{f22}).
|
||||
\item NeXus (cf.\ Section~\ref{f23}) data handling for TRICS.
|
||||
\end{itemize}
|
||||
|
||||
% html: End of file: `tricspsd.htm'
|
||||
@ -1579,7 +1743,7 @@ histogram memory (cf.\ Section~\ref{f20}).
|
||||
|
||||
\section{Histogram memory}
|
||||
|
||||
\label{f20}
|
||||
\label{f22}
|
||||
|
||||
|
||||
Histogram memories are used in order to control large area sensitive
|
||||
@ -1704,7 +1868,7 @@ allow to retrieve a subset of a histogram between iStart and iEnd.
|
||||
|
||||
\section{TRICS NeXus File Writing Object}
|
||||
|
||||
\label{f21}
|
||||
\label{f23}
|
||||
|
||||
TRICS writes its data files in the upcoming NeXus data format standard for
|
||||
neutron scattering and X-ray diffraction. The user may interact with this
|
||||
|
@ -26,7 +26,7 @@ the replicator application which is responsible for the automatic
|
||||
copying of data files to the laboratory server. The other is the SICS
|
||||
server. Both programs are started by means of a shell script called
|
||||
<b>keepalive</b>. keepalive is basically an endless loop which calls
|
||||
the program again and agaian and thus ensures that the program will
|
||||
the program again and again and thus ensures that the program will
|
||||
never stop running.
|
||||
</p>
|
||||
<p>
|
||||
|
Reference in New Issue
Block a user