merge and replace with PSI+site_ansto

This commit is contained in:
Douglas Clowes
2012-11-26 11:33:14 +11:00
541 changed files with 131710 additions and 82841 deletions

View File

@ -112,7 +112,9 @@ time intervalls. This can be achieved with the sicscron command:
<DT>sicscron intervall bla blab blab
<DD>This command installs a reoccuring task into SICS. The first
parameter is the intervall in seconds between calls to the SICS
command. Everything behind that is treated as the command to execute.
command. Everything behind that is treated as the command to execute.
The script has to be designed such that it does not return errors.
Errors in a cron script cause the cron task to be stopped.
</DL>
</P>
<H2>The SICS Online Help System</H2>

Binary file not shown.

View File

@ -104,6 +104,20 @@ the dictionary file:
would denote the normal counting tube at a scanning type of
experiment.
</dl>
<dt>nxscript puthdb path ?alias
<dd>Put a hipadaba path. The alias to put the data too is found in one of two places: as the nxalias
property on the node or as given on the command line. The alias is expected to match the size and type of
the data. Please note that hipadaba stores all floats as double which is NX_FLOAT64 as number type.
<dt>nxscript puthdboff path offset ?alias</dt>
<dd>Put a hipadaba path. The alias to put the data too is found in one of two places: as the nxalias
property on the node or as given on the command line. The alias is expected to match the size and type of
the data. Please note that hipadaba stores all floats as double which is NX_FLOAT64 as number type. Writing
data is started with the offset specified from the start of the data. This is useful to split a histogram
memory area into separate detectors or whatever.
<dt>nxscript puthdbslab path start size
<dd>Put a hipdaba node as a slab. The node must have a property nxalias to determine where to write to.
Start and size are Tcl lists which give the start point where to write and the size of the data
to write. See nxscript putslab for more information.
<dt>nxscript puthm hmAlias hmName ?start? ?length? ?bank?
<dd>Writes data from the histogram memory hmName to a NeXus file using
the alias hmAlias. Nxscript automatically updates the dim0, dim1, ..., timedim
@ -149,6 +163,10 @@ designated by targetAlias.
to write as a Tcl list and obj is the SICS object to write. Obj can be a
histogram memory; then the histogram memory data is written. Or it can be
a sicsdata object, the value of which will then be written.
<dt>nxscript putslab16 alias startlist sizelist obj
<dd>Writes a slab of data as above. Parameters are as setailed above.
The difference is that this converts the data to a6 bit int before writing.
And SICSData objects are not supported.
</dl>
</p>
<H1>Automatic Updating of NeXus Files</H1>

View File

@ -226,7 +226,7 @@ A valid SICS object structure has to look like this:
Please note that the first item in the data structure MUST be a
pointer to an SICS object descriptor. Add your own stuff below
that. If you do not adhere to this requirement, SICS will dump core on
you rather sooner than later.
you rather sooner then later.
SICS needs this object descriptor for its own internal purposes. The
@ -566,7 +566,7 @@ This code also shows the necessary error checking. It also shows how
to check for possible interrupts after such an operation. It is very
advisable to do this because the user may have interrupted the
process. And she might not be all to happy if the new command just
continues with the next step rather than aborting the process.
continues with the next step rather then aborting the process.
\section{SICS Interfaces}\label{interface}\label{inter}

View File

@ -8,7 +8,7 @@ subdivided into a driver and the logical object.
There is a problem here. There are some data fields and functions
which must be present for any motor driver. Then there are fields
which are specific just to a special implementation of a mot
driver. There are several ways to deal with this. The way chosen for
driver. There are several ways to deal with this. The way choosen for
the motor driver is a kind of overlay. The first few fields of a valid
motor driver structure MUST be specified in the same order as given
below. A special motor driver can add additional fields at the end of
@ -122,12 +122,12 @@ creates a simulation motor driver.
\end{description}
\subsubsection{The Motor Logical Object}
The motor object represents the motor to SICS. One of its responsibilities
The motor object represents the motor to SICS. One of its responsabilities
is to drive motor operations and error checking. The scheme
implemented is that the motor object tries to bring the motor to its
position at least three times before a failure is recorded. Also the
motor object keeps track of a count of failed operations. If this
count gets too high an interrupt is issued to stop the instrument. This
count gets to high an interrupt is issued to stop the instrument. This
was put in after Druechal tried to drive over a slab of concrete for a
whole night and subsequently broke a clutch.
Motors are represented by the
@ -164,7 +164,7 @@ object.
Much of the action of the motor is hidden in the implementation of the
drivable interface to the motor. Additionally the functions as given below
are defined. All functions take a pointer to the motor object data structure
as a parameter. They return 0 on success or 1 on failure while not stated
as a parameter. They retun 0 on success or 1 on failure while not stated
otherwise.
\begin{description}
\item[int MotorGetPar(pMotor self, char *name, float *fVal)] retrieves the

View File

@ -9,7 +9,8 @@
<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>
<b> Success [RUNDRIVE]</b> waits and blocks the command connection until all pending operations have finished (or an interrupt occured). The option argument RUNDRIVE causes succes to only wait for motors and counts but not for sample environment.
</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 immediatly followed by a Success command.</p>
</body>

BIN
doc/user/sansdoc.tgz Normal file

Binary file not shown.

View File

@ -38,15 +38,33 @@
<country>Switzerland</country>
</address>
</author>
<author>
<personname>
<honorific>Dr</honorific>
<firstname>Ronny</firstname>
<surname>Vavrin</surname>
</personname>
<address>
<affiliation>
<orgname>Paul Scherrer Institute PSI</orgname>
<orgdiv>LNS, Laboratory for Neutron Scattering</orgdiv>
</affiliation>
<city>Villigen</city>
<postcode>5232</postcode>
<country>Switzerland</country>
</address>
</author>
</authorgroup>
<pubdate>20.April 2007</pubdate>
<abstract>
<title>Abstract</title>
<para>This manual describes how to set up the small angle neutron scattering instrument at
the SINQ spallation source at PSI and gives a short remainder of important command.
This document can be downloaded<footnote><para>
http://sans.web.psi.ch/SANSDoc/SANSDoc.ps.gz</para>
</footnote> as a gzipped postscript file.
<para>This manual describes how to set up the small angle neutron scattering (SANS) instrument at
the SINQ spallation source at PSI and gives a short reminder of important commands.
This document can be
<ulink url="http://kur.web.psi.ch/sans1/SANSDoc/SICS4SANS1.pdf">downloaded</ulink> as a pdf file.
</para>
</abstract>
@ -163,41 +181,6 @@
<title>Executing a macro</title>
<para>
<variablelist>
<varlistentry>
<term>
<computeroutput>FileEval &lt;file&gt;</computeroutput>
</term>
<listitem>
<para>
executes the script in the file <computeroutput>&lt;file&gt;</computeroutput> (needs absolute path).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>BatchRoot [&lt;path&gt;]</computeroutput>
</term>
<listitem>
<para>
defines directory for script files executed by <computeroutput>BatchRun</computeroutput>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>Batchrun &lt;filename&gt;</computeroutput>
</term>
<listitem>
<para>
executes script file <computeroutput>&lt;filename&gt;</computeroutput>
located in directory defined by <computeroutput>BatchRoot</computeroutput>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>exe BatchPath [&lt;path&gt;]</computeroutput>
@ -216,8 +199,8 @@
<listitem>
<para>
executes script file <computeroutput>&lt;filename&gt;</computeroutput>
located in directory defined by <computeroutput>exe BatchPath</computeroutput>. Compared to
<computeroutput>BatchRun</computeroutput>, this command allows enhanced batch control through
located in directory defined by <computeroutput>exe BatchPath</computeroutput>. This command
allows enhanced batch control through
the <computeroutput>SICSBatchEditor</computeroutput>.
</para>
</listitem>
@ -225,12 +208,36 @@
<varlistentry>
<term>
<computeroutput>Clientput &lt;text&gt;</computeroutput>
<computeroutput>ClientPut &lt;text&gt;</computeroutput>
</term>
<listitem>
<para>
writes <computeroutput>&lt;text&gt;</computeroutput>
to client.
to the client in which this command was written.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>BroadCast &lt;text&gt;</computeroutput>
</term>
<listitem>
<para>
writes <computeroutput>&lt;text&gt;</computeroutput>
to all clients.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
in a terminal window: <computeroutput>sanscheck &lt;filename&gt;</computeroutput>
</term>
<listitem>
<para>
checks the batchfile <computeroutput>&lt;filename&gt;</computeroutput>
for errors and calculates the total of Monis to be measured.
</para>
</listitem>
</varlistentry>
@ -1366,106 +1373,6 @@
</variablelist>
</para>
</section>
<section>
<title>Sample holder for electro magnet</title>
<para>
<variablelist>
<varlistentry>
<term>
<computeroutput>mz</computeroutput>
</term>
<listitem>
<para>
motor for vertical movement (<computeroutput>z</computeroutput>).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>mom</computeroutput>
</term>
<listitem>
<para>
motor for rotation around vertical axis (<computeroutput>omega</computeroutput>).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>msh [z=&lt;val1&gt;] [omega=&lt;val2&gt;]</computeroutput>
</term>
<listitem>
<para>
is a special SANS command for controlling both axes of the magnet sample holder together.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section>
<title>Haake temperature controller</title>
<para>
<variablelist>
<varlistentry>
<term>
<computeroutput>inihaakearray eimer lnsa10 4000 1
</computeroutput>
</term>
<term>
<computeroutput>
evfactory new temperature tcl eimer</computeroutput>
</term>
<listitem>
<para>
initialisation sequence.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>temperature</computeroutput>
</term>
<listitem>
<para>
is a valid sample environment device if initialised as above.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>temperature list</computeroutput>
</term>
<listitem>
<para>
overview of the temperature controller parameters. Use 'emon unregister temperature'
to avoid out of range error messages.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>temperature sensor &lt;val&gt;</computeroutput>
</term>
<listitem>
<para>
selects the controlling sensor. <computeroutput>&lt;val&gt;</computeroutput> can be
<computeroutput>intern</computeroutput> or <computeroutput>extern</computeroutput>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section>
<title>Bruker electro magnet</title>
<para>
@ -1569,6 +1476,104 @@
</variablelist>
</para>
</section>
<section>
<title>Sample holder for electro magnet</title>
<para>
<variablelist>
<varlistentry>
<term>
<computeroutput>mz</computeroutput>
</term>
<listitem>
<para>
motor for vertical movement (<computeroutput>z</computeroutput>).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>mom</computeroutput>
</term>
<listitem>
<para>
motor for rotation around vertical axis (<computeroutput>omega</computeroutput>).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>msh [z=&lt;val1&gt;] [omega=&lt;val2&gt;]</computeroutput>
</term>
<listitem>
<para>
is a special SANS command for controlling both axes of the magnet sample holder together.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section>
<title>Haake C25P temperature controller</title>
<para>
<variablelist>
<varlistentry>
<term>
<computeroutput>start_sea
</computeroutput>
</term>
<listitem>
<para>
starts the sea server from SICS.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>temperature</computeroutput>
</term>
<listitem>
<para>
reads out the current temperature.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>drive temperature &lt;val&gt;</computeroutput>
</term>
<listitem>
<para>
changes the set temperature of the thermostat to the value <computeroutput>&lt;val&gt;</computeroutput>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
in a terminal window: <computeroutput>sea
</computeroutput>
</term>
<listitem>
<para>
starts the sea server client from a terminal. Choose Haake as device. The sea server client is the
best way to control and monitor the thermostat manually. Please refer to the
<ulink url="http://lns00.psi.ch/sinqwiki/Wiki.jsp?page=Sea">
SEA Wiki page</ulink> for more information.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section>
<title>Eurotherm controller</title>
<para>
@ -1617,12 +1622,6 @@
</variablelist>
</para>
</section>
<section>
<title>ITC-4 and ITC-503 temperature controllers</title>
<para>
*outdated controllers, will be replaced*
</para>
</section>
<section>
<title>Analogue and digital input and output</title>
<para>
@ -2154,6 +2153,65 @@
</variablelist>
</para>
</section>
<section>
<title>Useful commands</title>
<para>
<variablelist>
<varlistentry>
<term>
<computeroutput>gc &lt;measMonis&gt; &lt;totalCounts&gt;</computeroutput>
</term>
<listitem>
<para>
GuessCount: executes a measurement of &lt;measMonis&gt; Monis and extrapolates the measurement time and Monis
for a final value of &lt;totalCounts&gt; counts. A useful tool to estimate the measurement time for a sample. Example:
<computeroutput>gc 5 1E7</computeroutput> forces the instrument to measures for 5 Monis and estimates the measurement
time and Monis for 10'000'000 counts.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>qrange [x &lt;detdist&gt;] [wl &lt;lambda&gt;]</computeroutput>
</term>
<listitem>
<para>
calculates the q range of the current setting. The detector distance x (in mm) and the wavelength wl
(in nm) can be varied with the optional parameters. Examples: <computeroutput>qrange</computeroutput> prints the q range of the current
setting, <computeroutput>qrange x 6000 wl 0.8</computeroutput> prints the q range of the current
setting with forced values for the detector distance (6000mm) and the wavelength (0.8nm).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>sinq</computeroutput>
</term>
<listitem>
<para>
prints the SINQ status in the SICS client which issued the command.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
in a terminal window: <computeroutput>sanscheck &lt;filename&gt;</computeroutput>
</term>
<listitem>
<para>
checks the batchfile <computeroutput>&lt;filename&gt;</computeroutput>
for errors and calculates the total of Monis to be measured.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
</chapter>
@ -2418,8 +2476,7 @@
</listitem>
<listitem>
<para>Define the directory, where you intend to store your batch
files with <computeroutput>batchroot /data/lnsg/&lt;username&gt;[/&lt;batchdir&gt;]</computeroutput>
resp. with
files with
<computeroutput>exe batchpath /data/lnsg/&lt;username&gt;[/&lt;batchdir&gt;]</computeroutput>.
</para>
</listitem>
@ -2553,61 +2610,14 @@
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 <footnote><para>
http://cseng.awl.com/authordetail.qry?AuthorID=69</para>
</footnote>
Tool Command Language (TCL) <footnote><para>http://www.tcltk.com</para>
</footnote>.
The macro language is
<ulink url="http://cseng.awl.com/authordetail.qry?AuthorID=69">
John Ousterhout's </ulink>
<ulink url="http://www.tcltk.com">
Tool Command Language (TCL)</ulink>.
A set of important Tcl commands are described in section <xref linkend="TCLcommands"/>.
To execute batch files three commands are available:
To execute batch files, the following commands are available:
<variablelist>
<varlistentry>
<term>
<computeroutput>FileEval &lt;batchfile&gt;</computeroutput>
</term>
<listitem>
<para>
This command tries to open the file
<computeroutput>batchfile</computeroutput> and executes the
script in this file. If not an absolute path name is defined
the SICS server will search in the directory
<computeroutput>/home/SANS/bin</computeroutput>. However, you
don't have privileges to save files in this directory. For
executing batch files located in a directory of your choice
the commands <computeroutput>BatchRoot</computeroutput> and
<computeroutput>BatchRun</computeroutput> resp.
<computeroutput>exe BatchPath</computeroutput> and
<computeroutput>exe</computeroutput> are available.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>BatchRoot [&lt;pathname&gt;]</computeroutput>
</term>
<listitem>
<para>
By this command the directory name, in which SICS is searching
for a batch file, is stored in the SICS variable
<computeroutput>BatchRoot</computeroutput>. Calling
<computeroutput>BatchRoot</computeroutput> without parameters
will return the actual contents of the variable.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>BatchRun &lt;filename&gt;</computeroutput>
</term>
<listitem>
<para>
This command tries to open the file <computeroutput>filename</computeroutput>
located in the directory defined by
<computeroutput>BatchRoot</computeroutput> and executes the
script in this file.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>exe BatchPath [&lt;pathname&gt;]</computeroutput>
@ -2631,15 +2641,15 @@
This command tries to open the file <computeroutput>filename</computeroutput>
located in the directory defined by
<computeroutput>exe BatchPath</computeroutput> and executes the
script in this file. Compared to <computeroutput>BatchRun</computeroutput>,
this command allows enhanced batch control through the
script in this file.
This command allows enhanced batch control through the
<computeroutput>SICSBatchEditor</computeroutput>.
</para>
</listitem>
</varlistentry>
</variablelist>
If you want to print information from a macro script to a client (about the progress of
the batch job for example), a special command is available:
the batch job for example), special commands are available:
<variablelist>
<varlistentry>
<term>
@ -2652,8 +2662,36 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>BroadCast some text ...</computeroutput>
</term>
<listitem>
<para>
This command writes everything after <computeroutput>BroadCast</computeroutput>
to all clients.
</para>
</listitem>
</varlistentry>
</variablelist>
To check a batchfile for errors and to estimate the total Monis to be measured, a special program
can be executed in a terminal window. Navigate to the folder containing the batchfile and execute
the following command
<variablelist>
<varlistentry>
<term>
in a terminal window: <computeroutput>sanscheck &lt;filename&gt;</computeroutput>
</term>
<listitem>
<para>
checks the batchfile <computeroutput>&lt;filename&gt;</computeroutput>
for errors and calculates the total of Monis to be measured.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section>
<title>Logging the executed commands</title>
@ -3490,20 +3528,18 @@
<section id="TCLcommands">
<title>TCL command language interface</title>
<para>The macro language implemented in the SICS server is John Ousterhout's<footnote><para>
http://cseng.awl.com/authordetail.qry?AuthorID=69</para>
</footnote> Tool Command Language (TCL)<footnote>
<para>http://www.tcltk.com</para>
</footnote>. Tcl has control constructs, variables of its own, loop constructs,
associative arrays and procedures. Tcl is well documented by several books<footnote><para>
http://www.cica.indiana.edu/cica/faq/tcl/tcl.html</para>
</footnote>, online tutorials and manuals
<footnote><para>http://www.scriptics.com/man/tcl8.0/contents.htm</para>
</footnote>. For getting further
informations on Tcl have a look on the TCL WWW Info<footnote><para>http://www.sco.com/Technology/tcl/Tcl.html
</para>
</footnote> of Tcl Web server<footnote><para>http://www.tcltk.com</para>
</footnote>. All SICS commands are
<para>The macro language implemented in the SICS server is
<ulink url="http://cseng.awl.com/authordetail.qry?AuthorID=69">
John Ousterhout's </ulink> <ulink url="http://www.tcltk.com">Tool Command Language (TCL)</ulink>.
Tcl has control constructs, variables of its own, loop constructs,
associative arrays and procedures. Tcl is well documented by several
<ulink url="http://www.cica.indiana.edu/cica/faq/tcl/tcl.html">books</ulink>,
<ulink url="http://www.scriptics.com/man/tcl8.0/contents.htm">online tutorials and manuals</ulink>.
For getting further
informations on Tcl have a look on the
<ulink url="http://www.sco.com/Technology/tcl/Tcl.html">TCL WWW Info
</ulink> of
<ulink url="http://www.tcltk.com">Tcl Web server</ulink>. All SICS commands are
available in the macro language. Some potentially harmful Tcl commands have been deleted from
the standard Tcl interpreter. These are: <computeroutput>exec</computeroutput>,
<computeroutput>source</computeroutput>, <computeroutput>puts</computeroutput>,
@ -3511,9 +3547,9 @@
<computeroutput>gets</computeroutput>
and <computeroutput>socket</computeroutput>. Below only a small subset of the most important Tcl
commands like assigning variables, evaluating expressions, control and loop constructs are
described. For complete description of Tcl command have a look on the manual<footnote><para>
http://www.scriptics.com/man/tcl8.0/contents.htm</para>
</footnote> pages or on one of the many books about Tcl/Tk.
described. For complete description of Tcl command have a look on the
<ulink url="http://www.scriptics.com/man/tcl8.0/contents.htm">manual pages</ulink> or on one of
the many books about Tcl/Tk.
</para>
<section>
<title>
@ -4111,7 +4147,7 @@ while &lcub;$x&lt;10&rcub; &lcub;
</para>
</section>
<section>
<title>Change the collimation</title>
<title>Changing the collimation</title>
<para>
<variablelist>
<varlistentry>
@ -4299,7 +4335,7 @@ bs x = 2 y ++10
</listitem>
</varlistentry>
<varlistentry>
<term><computeroutput>bsfree</computeroutput>
<term><computeroutput>bscfree</computeroutput>
</term>
<listitem>
<para>is a manager command, which releases the beam stop motors,
@ -4343,6 +4379,50 @@ bs x = 2 y ++10
</variablelist>
</para>
</section>
<section>
<title>Calculating the q range</title>
<para>The q range of the current setting can comfortably be calculated with the following command:
<variablelist>
<varlistentry>
<term>
<computeroutput>qrange [x &lt;detdist&gt;] [wl &lt;lambda&gt;]</computeroutput>
</term>
<listitem>
<para>
calculates the q range of the current setting. The detector distance x (in mm) and the wavelength wl
(in nm) can be varied with the optional parameters. Examples: <computeroutput>qrange</computeroutput> prints the q range of the current
setting, <computeroutput>qrange x 6000 wl 0.8</computeroutput> prints the q range of the current
setting with forced values for the detector distance (6000mm) and the wavelength (0.8nm).
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section>
<title>Estimating the measurement time</title>
<para>The measurement time of a sample depends on many factors and needs to be estimated for each
sample individually. This procedure is simplified with the command GuessCount.
<variablelist>
<varlistentry>
<term>
<computeroutput>gc &lt;measMonis&gt; &lt;totalCounts&gt;</computeroutput>
</term>
<listitem>
<para>
GuessCount: executes a measurement of &lt;measMonis&gt; Monis and extrapolates the measurement time and Monis
for a final value of &lt;totalCounts&gt; counts. Example:
<computeroutput>gc 5 1E7</computeroutput> forces the instrument to measures for 5 Monis and estimates the measurement
time and Monis for 10'000'000 counts.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
</section>
<section>
@ -4463,53 +4543,6 @@ st pos P1
<computeroutput>P1</computeroutput> to bring the sample in position.
</para>
</section>
<section id="haaketemperaturecontroller">
<title>Haake temperature controller</title>
<para>
This is sort of a buck 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 use for initialisation a 1 always.
The driver for this device has been realised in the Tcl extension language of the
SICS server. A prerequisite for the usage of this device is that the file
<computeroutput>hakle.tcl</computeroutput> is sourced in the SICS initialisation
file and the command <computeroutput>inihaakearray</computeroutput> has been
published. Installing the Haake into SICS requires two steps: first create an
array with initialisation parameters, second install the device with
<computeroutput>evfactory</computeroutput>. A command procedure is supplied for
the first step. Thus the initialisation sequence becomes:
<programlisting>
<computeroutput>
inihaakearray &lt;name-of-array&gt; &lt;macintosh-computer&gt; &lt;name&gt; &lt;port&gt; &lt;channel&gt;
evfactory new temperature tcl &lt;name-of-array&gt;
</computeroutput>
</programlisting>
An example for the SANS:
<programlisting>
<computeroutput>
inihaakearray eimer lnsa10.psi.ch 4000 1
evfactory new temperature tcl eimer
</computeroutput>
</programlisting>
Following this, the thermostat can be controlled with the other environment
control commands.
</para>
<para>
The Haake Thermostat understands a single special subcommand:
<computeroutput>sensor</computeroutput>. The thermostat may be equipped with an
external sensor for controlling and reading. The subcommand
<computeroutput>sensor</computeroutput> allows to switch between the two. The
exact syntax is:
<programlisting>
<computeroutput>
temperature sensor &lt;val&gt;
</computeroutput>
</programlisting>
<computeroutput>&lt;val&gt;</computeroutput> can be either
<computeroutput>intern</computeroutput> or
<computeroutput>extern</computeroutput>.
</para>
</section>
<section>
<title>Bruker electromagnet</title>
<para>
@ -4668,6 +4701,72 @@ msh.omega = 0.000000
<xref linkend="specialsanscommands"/> about special SANS commands.
</para>
</section>
<section id="haaketemperaturecontroller">
<title>Haake C25P temperature controller</title>
<para>
This is sort of a bucket full of water equipped with a temperature control system.
It is connected with a blue ethernet cable to the port nr. 8 of the SANS terminal. The
SEA software written by Markus Zolliker is the best way to control and monitor the
thermostat manually; it is started from a terminal window with <computeroutput>sea</computeroutput>.
Please refer to the
<ulink url="http://lns00.psi.ch/sinqwiki/Wiki.jsp?page=Sea">
SEA Wiki page</ulink> for more information.
</para>
<para>
To add an external Pt100 sensor, plug in the sensor and restart the thermostat and the sea client (choose
'Haake' as device and check the box 'has sample sensor'). If the external sensor should be used as
reference to control the thermostat, check the box 'control on sample'.
<variablelist>
<varlistentry>
<term>
<computeroutput>start_sea
</computeroutput>
</term>
<listitem>
<para>
starts the sea server from SICS.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>temperature</computeroutput>
</term>
<listitem>
<para>
reads out the current temperature.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<computeroutput>drive temperature &lt;val&gt;</computeroutput>
</term>
<listitem>
<para>
changes the set temperature of the thermostat to the value <computeroutput>&lt;val&gt;</computeroutput>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
in a terminal window: <computeroutput>sea
</computeroutput>
</term>
<listitem>
<para>
starts the sea server client from a terminal. Choose Haake as device.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section>
<title>Eurotherm temperature controller</title>
<para>
@ -4709,11 +4808,6 @@ EVFactory new temperature euro lnsa10.psi.ch 4000 13
</itemizedlist>
</para>
</section>
<section>
<title>ITC-4 and ITC-503 temperature controller</title>
<para>*outdated controllers, will be replaced*
</para>
</section>
</section>
<section>
@ -5260,7 +5354,20 @@ EVFactory new temperature euro lnsa10.psi.ch 4000 13
</section>
<section>
<title>Status of the actual acquisition process</title>
<para>empty</para>
<para>A
<ulink url="http://lns00.psi.ch/sicszone/sansstatus?instrument=sans">webpage</ulink>
with the actual instrument status is available (only inside the PSI network).
<variablelist>
<varlistentry>
<term><computeroutput>sinq</computeroutput>
</term>
<listitem>
<para>prints the SINQ status in the SICS client which issued the command.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
</section>
</chapter>
@ -5268,16 +5375,27 @@ EVFactory new temperature euro lnsa10.psi.ch 4000 13
<chapter>
<title>Other programs</title>
<section>
<title>PSI2HMI</title>
<para>empty</para>
<title>Grasp</title>
<para>Grasp stands for 'Graphical Reduction and Analysis SANS Program for Matlab' which was developed
by Charles Dewhurst at the Institut Laue-Langevin (ILL) in Grenoble, France. Please refer to the
<ulink url="http://www.ill.fr/lss/grasp/grasp_main.html">Grasp webpage</ulink>.
</para>
</section>
<section>
<title>BerSANS software package</title>
<para>The Manual of the BerSANS Software Package is available in pdf format as well as a zipped pdf file.</para>
<para>The BerSANS data reduction software has been developed by Uwe Keiderling at the Hahn-Meitner-Institut
(HMI) in Berlin, Germany.
The Manual of the BerSANS Software Package can be
<ulink url="http://kur.web.psi.ch/sans1/BerSANS/SANS-Manual.pdf">downloaded</ulink>
as pdf file.
</para>
</section>
<section>
<title>sasfit program</title>
<para>empty</para>
<title>SASfit program</title>
<para>SASfit for analyzing and plotting small angle scattering data has been written by Joachim
Kohlbrecher at the Paul Scherrer Institute (PSI) in Villigen, Switzerland. Please refer to the
<ulink url="http://kur.web.psi.ch/sans1/SANSSoft/sasfit.html">SASfit webpage</ulink>.
</para>
</section>
</chapter>

View File

@ -16,9 +16,9 @@ On a triple axis instrument the parameters incoming energy, Q-position in 3D and
Q-E variables ei, ki, ef, kf, en, qh, qk and ql can be driven as virtual motors in
SICS.
</P>
<h2>Commands understood by Tasub</h2>
<H2>Commands understood by Tasub</H2>
<p>
<h3>Monochromator and Analyzer Parameters
<h3>Monochromator and Analyzer Parameters</h3>
<p>
Incident and scattered energies are defined by monochromator crystals. In order for the
calculations to work, some parameters need to be configured. Monochromator and analyzer
@ -87,6 +87,8 @@ In order to calculate a UB matrix a list of reflections must be maintained. This
have the correct angular difference to a previous reflection. This is a help
for setting up the instrument or running powder mode. When a UB has been
generated from auxiliary reflections, a3, sgu and sgl angles will be incorrect.
<dt>tasub repref id qh qk ql a3 a4 sgu sgl ei ef
<dd>Modifies the reflection with id id to have the values given.
</dl>
</p>
<h3>Calculations</h3>