|
|
|
@ -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 <file></computeroutput>
|
|
|
|
|
</term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
|
|
|
|
executes the script in the file <computeroutput><file></computeroutput> (needs absolute path).
|
|
|
|
|
</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term>
|
|
|
|
|
<computeroutput>BatchRoot [<path>]</computeroutput>
|
|
|
|
|
</term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
|
|
|
|
defines directory for script files executed by <computeroutput>BatchRun</computeroutput>.
|
|
|
|
|
</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term>
|
|
|
|
|
<computeroutput>Batchrun <filename></computeroutput>
|
|
|
|
|
</term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
|
|
|
|
executes script file <computeroutput><filename></computeroutput>
|
|
|
|
|
located in directory defined by <computeroutput>BatchRoot</computeroutput>.
|
|
|
|
|
</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term>
|
|
|
|
|
<computeroutput>exe BatchPath [<path>]</computeroutput>
|
|
|
|
@ -216,8 +199,8 @@
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
|
|
|
|
executes script file <computeroutput><filename></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 <text></computeroutput>
|
|
|
|
|
<computeroutput>ClientPut <text></computeroutput>
|
|
|
|
|
</term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
|
|
|
|
writes <computeroutput><text></computeroutput>
|
|
|
|
|
to client.
|
|
|
|
|
to the client in which this command was written.
|
|
|
|
|
</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term>
|
|
|
|
|
<computeroutput>BroadCast <text></computeroutput>
|
|
|
|
|
</term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
|
|
|
|
writes <computeroutput><text></computeroutput>
|
|
|
|
|
to all clients.
|
|
|
|
|
</para>
|
|
|
|
|
</listitem>
|
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
|
<term>
|
|
|
|
|
in a terminal window: <computeroutput>sanscheck <filename></computeroutput>
|
|
|
|
|
</term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
|
|
|
|
checks the batchfile <computeroutput><filename></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=<val1>] [omega=<val2>]</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 <val></computeroutput>
|
|
|
|
|
</term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
|
|
|
|
selects the controlling sensor. <computeroutput><val></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=<val1>] [omega=<val2>]</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 <val></computeroutput>
|
|
|
|
|
</term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
|
|
|
|
changes the set temperature of the thermostat to the value <computeroutput><val></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 <measMonis> <totalCounts></computeroutput>
|
|
|
|
|
</term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
|
|
|
|
GuessCount: executes a measurement of <measMonis> Monis and extrapolates the measurement time and Monis
|
|
|
|
|
for a final value of <totalCounts> 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 <detdist>] [wl <lambda>]</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 <filename></computeroutput>
|
|
|
|
|
</term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
|
|
|
|
checks the batchfile <computeroutput><filename></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/<username>[/<batchdir>]</computeroutput>
|
|
|
|
|
resp. with
|
|
|
|
|
files with
|
|
|
|
|
<computeroutput>exe batchpath /data/lnsg/<username>[/<batchdir>]</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 <batchfile></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 [<pathname>]</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 <filename></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 [<pathname>]</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 <filename></computeroutput>
|
|
|
|
|
</term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
|
|
|
|
checks the batchfile <computeroutput><filename></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 {$x<10} {
|
|
|
|
|
</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 <detdist>] [wl <lambda>]</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 <measMonis> <totalCounts></computeroutput>
|
|
|
|
|
</term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
|
|
|
|
GuessCount: executes a measurement of <measMonis> Monis and extrapolates the measurement time and Monis
|
|
|
|
|
for a final value of <totalCounts> 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 <name-of-array> <macintosh-computer> <name> <port> <channel>
|
|
|
|
|
evfactory new temperature tcl <name-of-array>
|
|
|
|
|
</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 <val>
|
|
|
|
|
</computeroutput>
|
|
|
|
|
</programlisting>
|
|
|
|
|
<computeroutput><val></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 <val></computeroutput>
|
|
|
|
|
</term>
|
|
|
|
|
<listitem>
|
|
|
|
|
<para>
|
|
|
|
|
changes the set temperature of the thermostat to the value <computeroutput><val></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>
|
|
|
|
|
|
|
|
|
|