PSI sics-cvs-psi-complete-tree-post-site-support

This commit is contained in:
2004-03-09 15:18:11 +00:00
committed by Douglas Clowes
parent 6373f6b0fb
commit ae77364de2
196 changed files with 8344 additions and 3485 deletions

151
doc/user/autocloud.htm Normal file
View File

@ -0,0 +1,151 @@
<HTML>
<HEAD>
<TITLE>Autocloud</TITLE>
</HEAD>
<BODY>
<H1>Autocloud</H1>
<P>
With the advent of position sensitive detectors in X-ray and neutron
diffraction the problem arises how integrated reflection intensities
may be extratcted from the collected volumes of data. Typically a
series of frames is measured while rotating the crystal under
investigation in omega. Autocloud implements a novel approach for the
extraction of reflection intensities from such data. Other currently
used integration packages use a UB-matrix to predict the position of a
reflection on the detector and then integrate the intensity in a box
around the predicted position. In contrast autocloud tries to
determine reflection
positions and intensities directly from the data. In order to do so a
template matching algorithm is used. One advantage of this approach is
that crystals with magnetic or incommensurate structures can be easily
analysed. Typically packages for intensity integration do not have
facilities for predicting such reflections. The other advantage is ease
of use. Data analysis with autocloud requires only two steps:
Integration followed by indexing.
</P>
<h2>Running Autocloud</h2>
<p>
The syntax is:
<pre>autocloud options datafile
</pre>
The following options are known:
<dL>
<dt>-a val
<dd>Selects the algorithm to use. The following algorithms are
currently supported:
<dl>
<dt>max
<dd>perform only a local maximum search
<dt>template
<dd>Perform template matching. This is the default.
<dt>cross
<dd>Perform template matching using the cross correlation function.
</dl>
<dt>-b AAxBBxCC
<dd>For the evaluation of the initial template a preliminary box size
is needed. This can be specified through this option. Three values
separated by the character 'x' are required, one for each dimension in
the order x, y, z.
<dt>-d val
<dd>After the correlation of the data volume with the template another
maximum search is started in order to locate the reflections. In order
to suppress spurious peaks, a minimum steepness of the candidate peak
can be set with the -d option.
<dt>-e val
<dd>Some systems store frames a single files. With the -e option the
end file number of the frame files can be set.
<dt>-m val
<dd>When the maximum search only option is set a, a threshold is
required for suppressing spurious peaks. This threshold can be set
with the -m option.
<dt>-o file
<dd>Redirects output to the file name specified. By default all output
is written to stdout.
<dt>-s val
<dd>Some systems store frames a single files. With the -s option the
start file number of the frame files can be set.
<dt>-t type
<dd>This option sets the type of the data file. Currently understood
are:
<dl>
<dt>sxd
<dd>For NeXus data from SXD at ISIS.
<dt>trics
<dd>For NeXus data files from TRICS, SINQ
<dt>debug
<dd>An internal format used during software testing.
</dl>
<dt>-v val
<dd>Increases the verbosity of the output.
</dl>
</p>
<h2>The Autocloud Algorithm</h2>
<p>
The autocloud algorithm has the following steps:
<ol>
<li>Location of strong peaks for template evaluation.
<li>Background Subtraction.
<li>Evaluation of a template for volume matching.
<li>Correlation of the template with the data volume.
<li>Location of maxima in the correlated data.
<li>Integration of the reflections found.
</ol>
</p>
<h3>Location of Strong Peaks for Template Evaluation</h3>
<p>
This is basically a local maximum detection scheme. A local maxima
must be the strongest intensity within a 7 by 7 by 7 volume. All
maxima smaller then 10% of the largest maximum found are discarded.
</p>
<h3>Background Subtraction</h3>
<p>
Background subtraction is done with essentially the same algorithm XDS
uses. For each x, y coordinate in the frame values are summed along
the third dimension. Points belonging to a local maimum are
excluded. The background
for this x,y coordinate is then the average of the values
summed. The data volume is then corrected for the background with
these values. This works well as long as the assumption holds that the
background varies mostly across the detector and not much with the
third dimension.
</p>
<h3>Template Evaluation</h3>
<p>
The template to be used for template matching later on is calculated
by summing all local maxima first. Then the limits of the reflection
are calculated for each scanline using the Lehmann-Larsen
algorithm. The reflection thus found is scaled to a value of 1 and
used as the template.
</p>
<h3>Template Matching</h3>
<p>
For the actual correlation of the template with the data two variantes
can be used: Normal simple correlation or cross correlation.
</p>
<h3>Peak Detection</h3>
<p>
This is again a local maximum detection within a 7 by 7 by 7
box. Another criterium for the supression of wrong identifications is
a minimum steepness. This means that the candidate local maximum must
at least be higher by a certain amount (the steepness) then the points
at the border of its 7 by 7 by 7 box.
</p>
<h3>Peak Integration</h3>
<p>
A scale factor is calculated for each candidate reflection between the
data and the template. The intensity is derived from this scale factor
and the standard deviation is calculated as the squared difference
between the scaled template and the data. This scheme is the same as
learnt profile fitting as described by Ford for the 1- and 2d cases.
</p>
</BODY>
</HTML>

View File

@ -36,7 +36,19 @@ system for instance file names are case sensitive and that had to be
preserved. Commands defined in the scripting language are lower case by
convention.
</p>
<p>
Most SICS objects also hold the parameters required for their proper
operation. The general syntax for handling such parameters is:
<pre>
objectname parametername
</pre>
prints the current value of the parameter
</p>
<pre>
objectname parametername newvalue
</pre>
sets the parameter value to newvalue if you are properly authorized.
</p>
<h3>Authorisation</h3>
<p>
A client server system is potentially open to unauthorised hackers

View File

@ -27,6 +27,8 @@ 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.
<DT>commandlog tail <i>[n]</i>
<DD>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.
<DT>commandlog intervall
<DD>Queries and configures the intervall in minutes at which time stamps are written to the commandlog.
</DL>
It is now possible to have a script executed whenever a new log file is
started. In order to make this work a ServerOption with the name logstartfile

View File

@ -21,9 +21,6 @@ manually from the command line through the following commands:
is minutes.
<DT>storefocus intervall newval
<DD>Sets the update intervall to newval minutes.
<DT>killfile
<DD>This command will overwrite the last data file written and thus
effectively erase it. Therefore this command requires manager privilege.
</DL>
FOCUS has three detector banks which may not all be active at all
times. Thus a way is needed to tell SICS about the configuration of

View File

@ -74,16 +74,14 @@ for its number type.
<LI>Count. As Ceil, but a list of overflowed bins will be maintained.
</UL>
<DT> Rank
<DD> Rank defines the number of histograms in memory.
<DT> Length
<DD> gives the length of an individual histogram.
<DD> Rank defines the number of dimensions the detector has, minus the time channle when applicable. 1 is a linear detector, 2 a area detector etc.
<DT> BinWidth
<DD> determines the size of a single bin in histogram memory in bytes.
<DT>dim0, dim1, dim2, ... dimn
<DD>define the logical dimensions of the histogram. Must be set if the
the sum command (see below) is to be used. This is a clutch necessary to
cope with the different notions of dimensions in the SINQ histogram memory
and physics.
<DD>define the logical dimensions of the histogram.
<dt>extrachan
<dd>Extra time channels as used at AMOR and SANS for time-of-flight
monitors. They get appended to the main hm data but are treated separately.
</DL>
</p>
<p>
@ -126,6 +124,8 @@ will be generated starting from start with a stepwidth of step (example: HM genb
configured with this command. The time bin iNum is set to the value value.
<DT>HM clearbin
<DD>Deletes the currently active time binning information.
<dt>HM notimebin
<dd>returns the number of currently configured timebins.
</DL>
</p>
@ -150,6 +150,10 @@ transfer the configuration from the host computer to the actual HM.
<DD> starts counting using the currently active values for CountMode and
preset. This command does not block, i.e. in order to inhibit further
commands from the console, you have to give Success afterwards.
<DT>HM countblock
<DD> starts counting using the currently active values for CountMode and
preset. This command does block, i.e. you can give new commands only when
the counting operation finishes.
<DT>HM initval <i>val</i>
<DD> initialises the whole histogram memory to the value val. Ususally 0 in
order to clear the HM.
@ -164,3 +168,5 @@ allow to retrieve a subset of a histogram between iStart and iEnd.
</p>
</body>
</html>

View File

@ -53,6 +53,17 @@ Optionally a psi value and a hamilton position can be specified.
the motors to drive to that position. This command will wait for the
diffractometer to arrive at the setting angles requested.
Optionally a psi value and a hamilton position can be specified.
<dt>hkl hm
<dd>Retrieves the value of the histogram memory flag.
<dt>hkl hm val
<dd>Sets the histogram memory flag to val. This is a special for
TRICS. TRICS has three detectors at 0, 45, 90 degree offset to two
theta. If this flag is greater 0, hkl checks if the reflection to be
calculated is on any of the three detectors and calculates two theta
accordingly.
<dt>hkl fromangles two-theta om chi phi
<dd>Calculates hkl from the angles given on the command line using the
current UB matrix and wavelength.
</DL>
</p>

View File

@ -3,10 +3,14 @@
<TITLE>Hklscan</TITLE>
</HEAD>
<BODY>
<H1>Hklscan</H1>
<H1>Hklscan and Hklscan2d</H1>
<P>
Hklscan is a command which allows to scan in reciprocal space expressed as
Miller indizes on a four circle diffractometer. Prerequisite for this is
Miller indizes on a four circle diffractometer. Hklscan operates with
a single detector. Hklscan2d does the same as hklscan but for the
position sensitive detectors, saving data into NeXus files. Hklscan
and Hklscan2d share the same syntax.
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
@ -25,10 +29,15 @@ Hklscan is a command which allows to scan in reciprocal space expressed as
<dd>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.
<dt>hklscan2d sim NP mode preset
<dd>This command only for hklscan2d. It tries to calculate all points
in the hkl scan and complains if it cannot reached or stays
silent. Use this to test if your hklscan2d can be performed.
</dl>
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.
file for hklscan. The status display with topsistatus or scanstatus
might be slightly erratic as it uses two theta as x-axis. Hklscan2d
writes data into NeXus files.
</P>
</BODY>
</HTML>

59
doc/user/lowmax.htm Normal file
View File

@ -0,0 +1,59 @@
<HTML>
<HEAD>
<TITLE>The Local Maximum Search Module</TITLE>
</HEAD>
<BODY>
<h1>The Local Maximum Search Module</h1>
<p>
This module allows to search for local maxima in two-dimensional
datasets stored within a SICS histogram memory. All commands
act upon the current content of the histogram memory. The following
commands are understood:
<dl>
<dt>lowmax stat hm
<dd>calculates the average and the maximum count in the frame
currently held in histogram memory hm.
<dt>lowmax search hm
<dd>searches the frame held in histogram memory hm for local
maxima. Local maxima are returned as sets of three numbers which are
the x and y coordinates and the intensity. Each set of numbers is
separated from the next one by the @ symbol.
<dt>lowmax cog hm x y
<dd>calculates the center ogf gravity for the pixel at coordinates x
and y in histogram memory hm. Four numbers are returned: the new x and
y coordinates, the intensity of the peak and the number of points
contributing to the peak.
<dt>lowmax steepness val
<dd>accesses the steepness parameter for the peak search. With a
parameter val sets a new value, without print the current value.
<dt>lowmax window val
<dd>accesses the window parameter for the peak search. With a
parameter val sets a new value, without print the current value.
<dt>lowmax threshold val
<dd>accesses the thresholds parameter for the peak search. With a
parameter val sets a new value, without print the current value.
<dt>lowmax cogwindow val
<dd>accesses the cogwindow parameter for the peak search. With a
parameter val sets a new value, without print the current value.
<dt>lowmax cogcontour val
<dd>accesses the cogcontour parameter for the peak search. With a
parameter val sets a new value, without print the current value.
</dl>
The local maximum search can be tuned through the parameters: The
window parameter sets the size of the quadratic area for which a
candidate pixel must be the local maximum. Threshold sets a minimum
count rate for a local maximum. Steepness sets a minimum difference to
the borders of the window used for the local maximum search which must
be fulfilled.
</p>
<p>
The center of gravity calculation can be tuned mainly through the
cogcontour parameter which determines at which percentage of the
maximum value of the peak the center of gravity calculation
stops. Cogwindow is the size of the area in which a center of gravity
is calculated. Can be set rather generously.
</p>
</BODY>
</HTML>

View File

@ -7,14 +7,25 @@
<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 <i>name</i> </b> tries to open the file name and executes the script in this file. </p>
<b> fileeval <i>name</i> </b> tries to open the file name and
executes the script in this file.
</p>
<p>
<b>batchrun <i>name</i></b> prepends to name a directory name
configured in the variable batchroot and then executes that
batchfile. The usage scenerio is that you have a directory where you
keep batch files. Then the variable batcroot is set to contain the path
to that directory. Batchrun then allows to start scripts in that
directory without specifying the full path.
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. 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>
<b> ClientPut sometext1 ... </b>Usally SICS suppresses any messages
from SICS during the processing of batch files. This is in order not
to confuse users with the output of intermediate results during
the processing of batch files. Error messages and warnings, however,
come through always. Clientput now allows to send messages to the
user on purpose 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

View File

@ -47,8 +47,83 @@ or equal to zero for the motor being movable.
<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> 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.
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.
<li><b> failafter </b>This is the number of consecutive failures of
positioning operations this motor allows before it thinks that
something is really broken and aborts the experiment.
<li><b> maxretry </b>When a motor finishes driving, SICS checks if the
desired position was reached. If the position read back from the motor
is not within precision to the desired value, the motor is
restarted. This is done at max maxretry times. After maxretry retries,
the motor throws an error.
<li></b> ignorefault </b>If this is bigger then 0, positioning faults
from the motor will be ignored.
</ul>
<p>
<h2>Motor Error Handling Concepts</h2>
<p>
As mechanical components motors are prone to errors. SICS knows about
two different classes of motor errors:
<dl>
<dt>HWFault
<dd>This is when there is a problem communicating with the motor, a
limit is violated etc. SICS assumes that such errors are so grave that
no fix is possible. If such a HWFault is detected a configurable
interrupt (see parameter InterruptMode) is set which can be used by
upper level code to act upon the problem.
<dt>HWPosFault
<dd>This is a positioning failure, i.e. The motor did not reach the
desired position. Such a positioning problem can come from two
sources:
<ul>
<li>The positioning problem is reported by the motor driver. SICS then
assumes that the driver has done something to solve the problem and
promotes this problem to a HWFault.
<li>The motor driver reported no error and SICS figures out by itself,
that the desired position has not been reached. SICS thinks that this
is the case if the difference between the desired position and the
position read from the motor controller is greater then the parameter
precision. If SICS detects such a problem it tries to reposition the
motor. This is done for the number of times specified through the
parameter maxretries. If the position has not been reached after
maxretries repositionings, a HWFault is assumed.
</ul>
</dl>
In any case lots of warnings and infos are printed.
</p>
<p>
If SICS tries to drive an axis which is for some reason broken to
often hardware damage may occur (and HAS occurred!). Now, SICS has no
means to detect if the mispositioning of a motor is due to a concrete
block in the path of the instrument or any other reason. What SICS can
do though is to count how often a motor mispositions in
sequence. This means SICS counts mispositionings if it cannot drive a
motor, if the motor is driven succesfully, the count is cleared. If
the count of mispositionings becomes higher then the parameter
failafter, SICS thinks that there is something really, really wrong
and aborts the measurement and prints an error message containing the
string: MOTOR ALARM.
</p>
<p>
There are some common pitfalls with this scheme:
<dl>
<dt>You want upper level code to be signalled when your critical motor
fails.
<dd>Solution: set the parameter interruptmode to something useful and
check for the interrupt in upper level code.
<dt>SICS falsly reports mispositionings.
<dd>Solution: increase the precision parameter.
<dt>You know that a motor is broken, you cannot fix it, but you want
to measure anyway.
<dd>Solution: increase the precision parameter, if SICS finds the
positioning problem, increase maxretries, increase the failafter
parameter. In the worst case set the ignorefault parameter to greater
0, this will prevent all motor alarms.
</dl>
</p>
</body>
</html>

98
doc/user/peaksearch.htm Normal file
View File

@ -0,0 +1,98 @@
<HTML>
<HEAD>
<TITLE>TRICS PSD Peak Search</TITLE>
</HEAD>
<BODY>
<H1>TRICS PSD Peak Search</H1>
<P>
For almost any measurement at TRICS a UB matrix has to be determined
beforehand. In order to do this a couple of peak must be located by
some means. This section describes how the computer can help in
finding an initial set of peaks.
</P>
<p>
The algorithm is quite simple: It consists of a big loop over ranges
of the four circle angles two theta, omega, chi and phi. At each
position a counting operation is performed. Then peaks are located on
all three detectors through a local maximum search. For this, the
<a href="lowmax.htm">local maximum search</a> module is used.
If a candidate
peak is found, it is refined in omega and written to a file. The
tricky bit is the adjustement of the local maximum search parameters
in order to minimize false maxima caused by a spicky background or
powder lines.
</p>
<p>
The peak search facility need a lot of parameters in order to
operate. This includes angle ranges, count parameters and the maximum
search parameters. Commands are provided for adjusting these
parameters. The general operation of these commands follow a pattern:
typing the command alone prints the current values of the
parameters. In order to set new values the command name must be typed
plus new values for all the parameters listed by this command. An
Example:
<pre>
ps.sttrange
</pre>
prints the range in two theta for the peaksearch.
<pre>
ps.sttrange startval endval step
</pre>
sets new values for the two theta range and prints them afterwards.
The following commands are provided:
<dl>
<dt>ps.sttrange
<dd>adjustment of the two theta range for the peak search.
<dt>ps.omrange
<dd>adjustment of the omega range for the peak search.
<dt>ps.chirange
<dd>adjustment of the chi range for the peak search.
<dt>ps.phirange
<dd>adjustment of the phi range for the peak search.
<dt>ps.countpar
<dd>adjustment of the counting parameters for the peak search.
<dt>ps.scanpar
<dd>adjustment of the parameters used by ps.scanlist for scanning
located peaks. See below.
<dt>ps.maxpar
<dd>Adjusts the maximum finding parameters for the peak search. These
parameters need some explanation:
<dl>
<dt>window
<dd>window is the size of the quadratic area which will be searched
around each point in order to determine if it is a local maximum.
<DT>threshold
<dd>This is a minimum intensity a candidate local maximum must have
before it is accepted as a peak. The value given is multiplied
with the average counst on the data frame before use. This threshold
is the strongest selection parameter.
<dt>steepness
<dd> A candidate peak should drop of towards the sides. This is
tested for by checking if the pixels on the borders of the local
maximum detection window are below maximum value - steepness.
<dt>cogwindow
<dd>In order to refine the peaks position a center of gravity
calculation is perfomed. For this calculation pixels within the
cogwindow around the candidate peak position are considered.
<dt>cogcontour
<dd>In order not to base the COG calculation on background pixels,
only pixels above cogcontour * maxvalue are used for the
calculation. With the spicky background at TRICS .5 seems a good value.
</dl>
<dt>ps.list
<dd>lists all parameters for the peak search.
<dt>ps.listpeaks
<dd> lists all the peaks already found.
<dt>ps.run filename
<dd>starts the peak search and stores peaks identified in file
filename.
<dt>ps.continue
<dd>continues a peak search which was interrupted for one reason or
another.
<dt>ps.scanlist
<dd>performs an omega scan for each reflection found in the current
peak list.
</dl>
</P>
</BODY>
</HTML>

View File

@ -21,9 +21,6 @@ manually from the command line through the following commands:
is minutes. Default is 20 minutes.
<DT>storedata intervall <i>newval</i>
<DD>Sets the update intervall to newval minutes.
<DT>killfile
<DD>This command will overwrite the last data file written and thus
effectively erase it. Therefore this command requires manager privilege.
</DL>
</P>
</BODY>

16
doc/user/psddata.htm Normal file
View File

@ -0,0 +1,16 @@
<HTML>
<HEAD>
<TITLE>TRICS PSD Data Analysis</TITLE>
</HEAD>
<BODY>
<h1>TRICS PSD Data Analysis</h1>
<p>
As of now two packages are provided:
<ul>
<li>A data analysis package based on <a href="xds.htm">XDS</a>.
<li>An experimental package based on a
novel <a href="auto.htm">volume matching </a> approach.
</ul>
</P>
</BODY>
</HTML>

View File

@ -18,16 +18,19 @@ devices.
<li><a href="#lsc">LakeShore Model 340</a> temperature controllers.
<li>Oxford Instruments <a href="#itc4">ITC-4</a> or ITC-503 temperature
controllers.
<li><a href="#dilu">Dilution</a> Cryostat.
<li>Haake <a href="#haake">waterbath </a> thermostat.
<li><a href="#ltc11">The CryoFurnace</a> with its Neocera LTC-11 temperature
controller.
<li><a href="#euro">Eurotherm Temperature Controller</a>.
<li><a href="#bruker">Bruker</a> Magnet Controller.
<li>The Risoe <a href="#a1931">A1931</a> Temperature Controller.
<li>The <a href="#el755">PSI-EL755</a> Magnet Controller.
<li>The <a href="#psidsp">PSI-DSP</a> Magnet Controller, also known as
SLS controller.
SLS controller.
</ul>
Obsolete:
<ul>
<li>Old <a href="#dilu">Dilution</a> Cryostat.
<li>The <a href="#ltc11">Neocera LTC-11</a> temperature
controller (was used for the Cryofurnace).
</ul>
</p>
<!latex-on>
@ -65,7 +68,7 @@ for understanding SICS environment device handling. Then there will be another
section discussing the special devices known to the system.
</p>
<p>
<h2>SampleEnvironment Error Handling</h2>
<h2>Sample Environment Error Handling</h2>
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
@ -190,6 +193,15 @@ handling is set. Valid values are:
<DT>SafeValue
<DD> The value to drive the controller to when an error has been detected and
Safe error handling is set.
<DT>MaxWait
<DD> Maximal time in minutes to wait in a drive temperature command.
If maxwait is set to 0: If the temperature is not reached within tolerance,
it waits indefinitely.
<DT>Settle
<DD> Wait time [minutes] after reaching temperature. Indicates how long to wait
after reaching temperature. If the temperatures goes again out
of tolerance during the settling time, the time outside tolerance
is not taken into account.
</DL>
</p>
<P>
@ -213,15 +225,17 @@ can be achieved by using the drive command.
and <b>log frequency</b> (both below)
</DL>
<h3>Logging </h3>
The values of any sample environement device can be logged. There are two
The values of any sample environement device can be logged. There are three
features:
<ul>
<li>Logging to a file wih a configurable time intervall between log
file entries.
<li>Sums are kept internally which allow the calculation of the mean
value and the standard deviation at all times.
<li>A circular buffer holding 1000 timestamps plus values is
automatically updated.
</ul>
The last system is automatically switched on after the first drive or
The last two systems are automatically switched on after the first drive or
run command on the environment device completed.
This system is run through the following commands.
<DL>
@ -233,7 +247,7 @@ standard deviation.
values and prints them.
<DT>name log frequency val
<DD> With a parameter sets, without a parameter requests the logging intervall
for the log file.
for the log file and the circular buffer.
This parameter specifies the time intervall in seconds
between log records. The default is 300 seconds.
<DT>name log file filename
@ -243,12 +257,22 @@ Logging will happen any 5 minutes initially. The logging frequency
of the form date time value. The name of the file must be specified relative
to the SICS server.
<DT>name log flush
<DD>DigitalUnix buffers output heavily. With this command an update of
<DD>Unix buffers output heavily. With this command an update of
the file can be enforced.
<DT>name log status
<DD>Queries if logging to file is currently happening or not.
<DT>name log close
<DD> Stops logging data to the file.
<dt>name log tosicsdata dataname
<dd>copies the content of the circular buffer to a sicsdata
buffer. This is used by graphical clients to display the content of
the circular buffer.
<dt>name log dump
<dd>Prints the content of the circular log buffer to screen.
<dt>name log dumptofile filename
<dd>Prints the content of the circular log buffer into the file
specified as filename. Note, this file is on the computer where the
SICS server resides.
</DL>
</P>
@ -263,41 +287,24 @@ that special device. All of the general commands listed above work as well!
This is <i>the</i> temperature controller for cryogenic applications and
should replace at least the Oxford & Neocera controllers at SINQ.<p>
The control is handled by a seperate server process TECS (TEmperature
Control Server) and is initialized by default. If there is already an other
device selected, it must be deleted and TECS must be reinstalled:
Control Server) and is initialized by default on most instruments. If there is already an other
device selected, it must be deleted with:
<BLOCKQUOTE>
EVFactory del temperature<br>
EVFactory new temperature tecs
EVFactory del temperature
</BLOCKQUOTE>
The sample environment device is selected automatically by a coding in the
plug of the sensor/heater cable(s). If this does not work (plugs without
coding or temporarely use of a wrong cable) you may select the device
with
and TECS must be reinstalled with:
<BLOCKQUOTE>
temperature device <i>device</i>
tecs on
</BLOCKQUOTE>
You may want to verify the selected device with
<BLOCKQUOTE>
temperature device
</BLOCKQUOTE>
The actually known devices (April 2000) are:
<UL>
<LI>orange cryostats: <b>ill1</b> (50mm), <b>ill2</b> (70mm),
<b>ill3</b> (cryofurnace), <b>ill4</b> (FOCUS), <b>ill5</b> (100 mm)
<LI>closed cycles: <b>cti1</b>, <b>cti2</b>, <b>cti3</b>, <b>cti4</b>,
<b>cti5</b> (maxi), <b>cti6</b> (FOCUS), <b>apd</b> (TriCS), <b>ccr4k</b> (4K)
<LI>other: <b>hef4c</b> (He-flow cryostat 4circle), <b>sup4t</b> (4 T supraconducting magnet)
</UL>
(This is just an abbreavation for EVFactory new temperature tecs)<p>
More details can be found on the <a href=http://sinq.web.psi.ch/sinq/sample_env/tecs.html>Sample Environment Home Page</a>
<p>
<h3><a name="itc4">ITC-4</a> and ITC-503 Temperature Controllers</h3>
<p>
These temperature controller were 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
plugging it in.
socket which must be connected to a terminal server via a serial cable.
</p>
<h4>ITC-4 Initialisation</h4>
<p>
@ -306,23 +313,21 @@ An ITC-4 can be configured into the system by:
EVFactory new Temp ITC4 computer port channel
</BLOCKQUOTE>
This creates an ITC-4 controller object named Temp within the system. The
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:
ITC-4 is expected to be connected to the serial port channel of the serial
port server porgramm at localhost listening at the specified port. For example:
<BLOCKQUOTE>
EVFactory new Temp ITC4 lnsp22.psi.ch 4000 7
EVFactory new Temp ITC4 localhost 4000 7
</BLOCKQUOTE>
connects Temp to the Macintosh named lnsp22, serial port 6
(7 above is no typo!), listening at port 4000.
connects Temp to the serial port 7, listening at port 4000.
</P>
<h4>ITC-4 Additional Parameters</h4>
<p>
The ITC-4 has a few more parameter commands:
<DL>
<DT>timeout
<DD>Is the timeout for the Macintosh terminal server program waiting for
<DD>Is the timeout for the SerPortServer waiting for
responses from the ITC-4. Increase this parameter if error messages
containg ?TMO appear.
contaning ?TMO appear.
<DT> sensor
<DD> Sets the sensor number to be used for reading temperature.
<DT> control
@ -341,17 +346,17 @@ the comma.
<h4>Installing an ITC4 step by step</h4>
<p>
<ol>
<li>Connect the ITC temperature controller to port 6 on the Macintosh
serial port extension box. Port 6 is specially configured for dealing with
<li>Connect the ITC temperature controller to port 7 on the terminal server
box. Port 7 is specially configured for dealing with
the ideosyncracies of that device. No null modem is needed.
<li>Install the ITC4 into SICS with the command: <br>
evfactory new name Macintoshname 4000 7<br>
Thereby replace name with the name you want to address the ITC4 in SICS. A
good choice for a name is temperature, as such a value will be written to data files.
evfactory new temperature localhost 4000 7<br>
You may choose an other name than "temperature", but then it is in general not stored
in the data file.
Please note, that SICS won't let you use that name if it already exists. For
instance if you already had a controller in there. Then the command:<br>
evfactory del name <br>
will help. Macintoshname is the name of the instrument Macintosh PC.
will help.
<li>Configure the upper and lowerlimits for your controller appropriatetly.
<li>Figure out which sensor you are going to use for reading temperatures.
Configure the sensor and the divisor parameter accordingly.
@ -373,7 +378,7 @@ current one.
<h4>ITC-4 Trouble Shooting</h4>
<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
is working. Use standard RS-232 debugging procedures for doing
this. The not responding message may also come up as a failure to
connect
to the ITC-4 during startup.
@ -420,9 +425,8 @@ within the tolerance. That is the temperature value you wanted after all.
<p>
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
use for initialisation a 1 always. The driver for this device has been
4800 baud max. This is why it has to be connected to a specially configured port.
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 hakle.tcl is sourced in the
SICS initialisation file and the command inihaakearray has been published.
@ -432,11 +436,11 @@ 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-of-array macintosh-computer name port channel<br>
inihaakearray name-of-array localhost name port channel<br>
evfactory new temperature tcl name-of-array
</BLOCKQUOTE>An example for the SANS:
<BLOCKQUOTE>
inihaakearray eimer lnsp25.psi.ch 4000 1 <br>
inihaakearray eimer localhost 4000 1 <br>
evfactory new temperature tcl eimer
</BLOCKQUOTE>
Following this, the thermostat can be controlled with the other environment
@ -452,35 +456,6 @@ temperature sensor val
</BLOCKQUOTE>
val can be either intern or extern.
</p>
<h3><a name="dilu">Dilution</a> Cryostat</h3>
<p>
This is a large ancient device for reaching very low temperatures. This
cryostat can be configured into SICS with the command:
<pre>
EVFactory new Temp dillu computer port channel table.file
</pre>
Temp is the name of the dilution controller command in SICS, dillu is the
keyword which selects the dilution driver, computer, port and channel are
the parameters of the Macintosh-PC running the serial port server program.
table.file is the fully qualified name of a file containing a translation
table for this cryostat. The readout from the dilution controller is a
resistance. This table allows to interpolate the temperature from the
resistance measurements and back. Example:
<pre>
evfactory new temperature dillu lnsp19.psi.ch 4000 1 dilu.tem
</pre>
installs a new dilution controller into SICS. This controller is connected
to port 1 at the Macintos-PC with the newtwork adress lnsp19.psi.ch. On this
macintosh-PC runs a serial port server program listening at TCP/IP port
4000. The name of the translation table file is dilu.tem.
</p>
<p>
The dilution controller has no special commands, but two caveats: As of
current (October 1998) setting temperatures does not work due to problems
with the electronics. Second the dilution controller MUST be connected to
port 1 as only this port supports the 4800 maximum baud rate this device
digests.
</p>
<h3><a name="bruker">Bruker</a> Magnet Controller B-EC-1</h3>
<p>
This is the Controller for the large magnet at SANS. The controller is a
@ -490,24 +465,23 @@ an external hall sensor at the magnet. In <b>current</b> mode, the output curren
of the device is controlled. This magnet can be configured into SICS with a
command syntax like this:
<BLOCKQUOTE>
evfactory new name bruker Mac-PC Mac-port Mac-channel
evfactory new name bruker localhost port channel
</BLOCKQUOTE>
</p>
<p>
name is a placeholder for the name of the device within SICS. A good
suggestion (which will be used throughout the rest of the text) is magnet.
bruker is the keyword for selecting the bruker driver. Mac-PC is the name of
the Macintosh PC to which the controller has been connected, Mac-Port is the
port number at which the Macintosh-PC's serial port server listens.
Mac-channel is the RS-232 channel to which the controller has been
bruker is the keyword for selecting the bruker driver. port is the
port number at which the serial port server listens.
channel is the RS-232 channel to which the controller has been
connected. For example (at SANS):
<pre>
evfactory new magnet bruker lnsp25.psi.ch 4000 9
evfactory new magnet bruker localhost 4000 9
</pre>
</p>
<p>
creates a new command magnet for a Bruker magnet Controller connected to
serial port 9 at lnsp25.
serial port 9.
</p>
In addition to the standard environment controller commands this magnet
controller understands the following special commands:
@ -540,60 +514,6 @@ a magnetic field. This is so in order to support SICS control logic.
You can read values at all times explicitly using magnet current or
magnet field.
</p>
<h3><a name="ltc11">The CryoFurnace.</a></h3>
<p>
The CryoFurnace at PSI is equipped with a Neocera LTC-11 temperature
controller. This controller can control either an heater or an analag output
channel. Futhermore a choice of sensors can be selected for controlling the
device. The LTC-11 behaves like a normal SICS environment control device
plus a few additional commands. An LTC-11 can be configured into SICS with
the following command:
<BLOCKQUOTE>
evfactory new name ltc11 Mac-PC Mac-port Mac-channel
</BLOCKQUOTE>
</p>
<p>
name is a placeholder for the name of the device within SICS. A good
suggestion is temperature.
ltc11 is the keyword for selecting the LTC-11 driver. Mac-PC is the name of
the Macintosh PC to which the controller has been connected, Mac-Port is the
port number at which the Macintosh-PC's serial port server listens.
Mac-channel is the RS-232 channel to which the controller has been
connected. For example (at DMC):
<pre>
evfactory new temperature ltc11 lnsp18.psi.ch 4000 6
</pre>
</p>
<p>
creates a new command magnet for a LTC-11 temperature Controller connected to
serial port 6 at lnsp18.
</p>
<p>
The additional commands understood by the LTC-11 controller are:
<dl>
<dt>temperature sensor
<dd> queries the current sensor used for temperature readout.
<dt>temperature sensor val
<dd> selects the sensor val for temperature readout.
<dt>temperature controlanalog
<dd> queries the sensor used for controlling the analog channel.
<dt>temperature controlanalog val
<dd> selects the sensor val for controlling the analog channel.
<dt>temperature controlheat
<dd> queries the sensor used for controlling the heater channel.
<dt>temperature controlheat val
<dd> selects the sensor val for controlling the heater channel.
<dt>temperature mode
<DD>queries if the LTC-11 is in analog or heater control mode.
</dl>
</p>
<p>
Further notes: As the CryoFurnace is very slow and the display at the
controller becomes unusable when the temperature is read out to often, the
LTC-11 driver buffers the last temperature read for 5 seconds. Setting the
mode of the LTC-11 is possible by computer, but not yet fully understood and
therefore unusable.
</p>
<h3><a name="euro">The Eurotherm Temperature Controller</a></h3>
<p>
At SANS there is a Eurotherm temperature controller for the sample heater.
@ -601,23 +521,22 @@ At SANS there is a Eurotherm temperature controller for the sample heater.
with the following command. The eurotherm needs to be connected with a
nullmodem adapter.
<BLOCKQUOTE>
evfactory new name euro Mac-PC Mac-port Mac-channel
evfactory new name euro computer port channel
</BLOCKQUOTE>
</p>
<p>
name is a placeholder for the name of the device within SICS. A good
suggestion is temperature.
euro is the keyword for selecting the Eurotherm driver. Mac-PC is the name of
the Macintosh PC to which the controller has been connected, Mac-Port is the
port number at which the Macintosh-PC's serial port server listens.
Mac-channel is the RS-232 channel to which the controller has been
euro is the keyword for selecting the Eurotherm driver. port is the
port number at which the serial port server listens.
channel is the RS-232 channel to which the controller has been
connected. <b>WARNING:</b> The eurotherm needs a RS-232 port with an unusual
configuration: 7bits, even parity, 1 stop bit. Currently only the SANS
Macintosh port 13 (the last in the upper serial port connection box) is
port 13 is
configured like this! Thus, an example for SANS and the name temperature
looks like:
<pre>
evfactory new temperature euro lnsp25.psi.ch 4000 13
evfactory new temperature euro localhost 4000 13
</pre>
</p>
<p>
@ -671,14 +590,14 @@ 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:
<BLOCKQUOTE>
evfactory new name el755 Mac-PC Mac-port Mac-channel index
evfactory new name el755 localhost port channel index
</BLOCKQUOTE>
with Mac-PC, Mac-port and Mac-channel being the usual data items for
describing the location of the EL755-controller at the Macintosh
with port and channel being the usual data items for
describing the location of the EL755-controller at the
serial port server. index is special and is the number of the power
supply to which the magnet is connected. An example:
<pre>
evfactory new maggi el755 lnsa09.psi.ch 4000 5 3
evfactory new maggi el755 localhost 4000 5 3
</pre>
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
@ -718,6 +637,90 @@ configures a magnet named maggi which is connectd to port 16 at the
terminal server psts224. maggi can now be read and driven like any
other environment device.
</p>
<h3><a name="dilu">Old Dilution</a> Cryostat (Obsolete)</h3>
<p>
This is a large ancient device for reaching very low temperatures. This
cryostat can be configured into SICS with the command:
<pre>
EVFactory new Temp dillu computer port channel table.file
</pre>
Temp is the name of the dilution controller command in SICS, dillu is the
keyword which selects the dilution driver, computer, port and channel are
the parameters of the Macintosh-PC running the serial port server program.
table.file is the fully qualified name of a file containing a translation
table for this cryostat. The readout from the dilution controller is a
resistance. This table allows to interpolate the temperature from the
resistance measurements and back. Example:
<pre>
evfactory new temperature dillu lnsp19.psi.ch 4000 1 dilu.tem
</pre>
installs a new dilution controller into SICS. This controller is connected
to port 1 at the Macintos-PC with the newtwork adress lnsp19.psi.ch. On this
macintosh-PC runs a serial port server program listening at TCP/IP port
4000. The name of the translation table file is dilu.tem.
</p>
<p>
The dilution controller has no special commands, but two caveats: As of
current (October 1998) setting temperatures does not work due to problems
with the electronics. Second the dilution controller MUST be connected to
port 1 as only this port supports the 4800 maximum baud rate this device
digests.
</p>
<h3><a name="ltc11">Old CryoFurnace Controller (Obsolete)</a></h3>
<p>
The CryoFurnace at PSI is equipped with a Neocera LTC-11 temperature
controller. This controller can control either an heater or an analag output
channel. Futhermore a choice of sensors can be selected for controlling the
device. The LTC-11 behaves like a normal SICS environment control device
plus a few additional commands. An LTC-11 can be configured into SICS with
the following command:
<BLOCKQUOTE>
evfactory new name ltc11 computer port channel
</BLOCKQUOTE>
</p>
<p>
name is a placeholder for the name of the device within SICS. A good
suggestion is temperature.
ltc11 is the keyword for selecting the LTC-11 driver. Computer is the name of
the computer running David Maden's SerPortServer program, port is the
port number at which the SerPortServer program listens.
Channel is the RS-232 channel to which the controller has been
connected. For example (at DMC):
<pre>
evfactory new temperature ltc11 localhost 4000 6
</pre>
</p>
<p>
creates a new command magnet for a LTC-11 temperature Controller connected to
serial port 6 at lnsp18.
</p>
<p>
The additional commands understood by the LTC-11 controller are:
<dl>
<dt>temperature sensor
<dd> queries the current sensor used for temperature readout.
<dt>temperature sensor val
<dd> selects the sensor val for temperature readout.
<dt>temperature controlanalog
<dd> queries the sensor used for controlling the analog channel.
<dt>temperature controlanalog val
<dd> selects the sensor val for controlling the analog channel.
<dt>temperature controlheat
<dd> queries the sensor used for controlling the heater channel.
<dt>temperature controlheat val
<dd> selects the sensor val for controlling the heater channel.
<dt>temperature mode
<DD>queries if the LTC-11 is in analog or heater control mode.
</dl>
</p>
<p>
Further notes: As the CryoFurnace is very slow and the display at the
controller becomes unusable when the temperature is read out to often, the
LTC-11 driver buffers the last temperature read for 5 seconds. Setting the
mode of the LTC-11 is possible by computer, but not yet fully understood and
therefore unusable.
</p>
</body>
</html>

View File

@ -24,19 +24,20 @@ these SICS client programs. SICS Clients and the SICServer communicate
with each other through the TCP/IP network.
</p>
<p>
Currently these SICS clients are available:
Currently the following SICS clients are available:
<uL>
<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 SANS and SANS2.
<li> A status display for FOCUS.
<li> A AMOR control and status program.
<li> A triple axis control and status program.
<li> A SICS variable watcher. This application graphically logs the
change of a SICS variable over time. Useful for monitoring for
instance temperature controllers.
<li>A graphical client for TRICS.
</ul>
</p>
<p>
@ -71,12 +72,26 @@ following commands at the command prompt:
<DD> for the triple axis status display and control application.
<DT>varwatch &
<DD> for the variable watcher.
<dt>trics-&
<dd>for the starting the TRICS graphical client.
</dl>
On a PC you may find icons for starting the different programs on the
desktop.
Each of these clients has usage instructions online which can be displayed
through the help/about menu entry.
</p>
<p>
Another option to start SICS clients is the Java Webstart mechanism
which is available for most platforms. Java webstart requires both
Java and Java webstart to be installed on the computer running the
client. Then clients can be started directly from a WWW-page. The
advantage is that clients are automatically updated in this system as
soon as new version have been copied to the WWW-site. Installation
instructions for Java webstart and links to start all SICS clients
though this mechanism can be found at:
<a href="http://lns00.psi.ch/sics/wstart"> the SICS webstart</a>
page. This service is only accessible within the PSI network.
</p>
<h2>Connecting</h2>
<p>
After startup any SICS client is not connected to a SICS server and thus not
@ -101,11 +116,11 @@ the SICS server log in as the instrument user at the instrument computer and
invoke the appropriate command to start the server. These are:
<dl>
<DT>DMC
<DD>Computer = lnsa05,User = DMC
<DD>Computer = lnsa05, User = DMC
<DT>TOPSI
<DD>Computer = lnsa07,User = TOPSI
<DD>Computer = topsi, User = TOPSI
<DT>SANS
<DD>Computer = lnsa10,User = SANS
<DD>Computer = sans, User = SANS
<DT>TRICS
<DD>Computer = lnsa18, User = TRICS
<DT>HRPT
@ -115,7 +130,7 @@ invoke the appropriate command to start the server. These are:
<DT>AMOR
<DD>Computer = lnsa14, User = AMOR
<DT>TASP
<DD>Computer = lnsa12, User = TASP
<DD>Computer = tasp, User = TASP
<DT>POLDI
<DD>Computer = poldi, User = POLDI
</dl>

View File

@ -11,7 +11,27 @@
<p>
<b> resetserver </b> resets the server after an interrupt.</p>
<p>
<b> dir </b> a single word command which lists all objects available in the SICS system in its current configuration.</p>
<b> dir </b> a command which lists objects available in the SICS
system. Dir without any options prints a list of all objects. The
list can be restricted with:
<dl>
<dt>dir var
<dd>prints all SICS primitive variables
<dt>dir mot
<dd>prints a list of all motors
<dt>dir inter driv
<dd> prints a list of all drivable objects. This is more then motors
and includes virtual motors such as environment devices and wavelength
as well.
<dt>dir inter count
<dd>Shows everything which can be counted upon.
<dt>dir inter env
<dd>Shows all currently configured environment devices.
<dt>dir match wildcard
<dd>lists all objects which match the wildcard string given in
wildcard.
</dl>
</p>
<p>
<b> status </b> A single word command which makes SICS print its current
status. Possible return values can be:
@ -45,5 +65,12 @@ above and restores SICS to the state it was in when the status was saved with
backup. If no file argument is given the system default file gets
read.
</p>
<p>
<b>killfile</b> decrements the data number used for SICS file writing
and thus consequently overwrites the last datafile. This is useful
when useless data files have been created during tests. As this is
critical command in normal user operations, this command requires
managers privilege.
</p>
</body>
</html>

View File

@ -0,0 +1 @@
<h2><a name="Commands">TASMAD Commands</a></h2>

View File

@ -72,9 +72,9 @@
e.g. ALF1-ALF4 (carry out command given on variables between ALF1 and
ALF4 in storage order; see section V)
e.g. DM,ALF1-ALF4,SS,DA (a combination of the above) Variables separated
by commas need not be typed in their order of storage in THE Program.
by commas need not be typed in their order of storage in the program.
Note : that for this type of syntax (type a) the only acceptable
Note : that for this type of syntax (type A) the only acceptable
variable separators are ' ' (i.e. a space), ',' and '-' (' ' and ','
are equivalent).
@ -87,9 +87,9 @@
variables in storage [QK, QL] take the values 0 and 2 )
e.g. QH=1,0,2.0,AS=3.24,CC=90 (a combination of the above)
In commands involving this construction type (B) THE Program echoes
the variable names and values it has understood.
Possible separators are ',' and ' ' ('space')
In commands involving this construction type (B) the program echoes
the variable names and values it has understood.
Possible separators are ',' and ' ' ('space')
There is a third type of commands which requires no parameters. These
commands are:-
@ -159,7 +159,7 @@
<pre>
CO(UNT) : Counts for a given preset TIme or MoNitor.
This is a command of type b syntax. If the command is issued alone,
This is a command of type B syntax. If the command is issued alone,
the preset used will be that most recently set. However, the preset
may also be specified on the same line as the COUNT command.
(For use of COnt in a P.A. file, see SCan and PA).
@ -223,11 +223,11 @@
new position and the appropriate variable is altered in the memory.
A DRIVE command will fail (non destructively) if:
l a motor or power supply is protected or fixed
l a software or hard limit is exceeded; the soft limits may be changed
- a motor or power supply is protected or fixed
- a software or hard limit is exceeded; the soft limits may be changed
if necessary using the SET command provided the value desired is
within the allowed range.
l there is ambiguity among the driven variables.
- there is ambiguity among the driven variables.
e.g. DR KI=2.662,A2=40&lt;CR&gt;
sets two different targets for A2 and fails.
@ -332,7 +332,7 @@
(within a certain tolerance) to the positions.
Clear exceptions are for a power supply which has
been turned disabled, the abort of a DRive via
^C^C and, for instance, the incident wavevector
Interrupt and, for instance, the incident wavevector
after a drive of A1 or A2.
</pre>
<h3><a name="LOG">LOG</a></h3>
@ -379,7 +379,7 @@
non-zero.(This is because it no longer behaves as a flipper.)
Note that the ON and OFF commands are the only ones which can be used
to change F1 and F2. Both ON and OFF are of type Asyntax.
to change F1 and F2. Both ON and OFF are of type A syntax.
</pre>
@ -398,8 +398,9 @@
be printed for every point in every scan until disabled.
Typing OU with NO following variables will stop the output of ALL
variables apart from scanned ones.
Type A syntax. A variable that has to be output because it is scanned a
nd has also been selected with the OUT command will only be output once.
Type A syntax. A variable that has to be output because it is scanned
and has also been selected with the OUT command will only be output
once.
e.g. OU A3,A4&lt;CR&gt;
A3 &amp; A4 will be printed in addition to the scan variables.
@ -546,23 +547,9 @@
2) data files :
All of this data is also output to a disk file. This file is called
either TEMP##.SCN or SV####.SCN where # represents a digit between 0
and 9. Both types of data files are used sequentially and thus
periodically overwritten but obviously the TEMP##.SCN files disappear
sooner.
A scan initiated from the terminal will be stored in a TEMP file
(unless the appropriate SWITCH is on ) while scans input from .JOB files
are always saved permanently. The TEMP files are lost ( but see SAVE).
For more details on data files see section VI below.
All SV####.SCN files are copied to the mainframe computer automatically
and transfered to the SPECTRA database for Backup and archiving. They
can be accessed by the SPECTRA program or by the 3-axis programs (PKFIT
or FILING).
Programs for manipulating data files are described in another manual
(PKFIT, FILING, LOOK, LIST, LHEAD etc.)
All tas####.dat files are copied to the mainframe computer
automatically.
3) Scan output :
@ -602,7 +589,7 @@
As with the DRIVE command, scans in Q-E space are carried out at fixed
KI (FX=1) or fixed KF (FX=2). During a scan with Kf fixed (i.e.FX=2)
THE Program will automatically check and adjust A5 and A6; for Ki
the program will automatically check and adjust A5 and A6; for Ki
fixed (FX=1) however, MAD Program will not adjust at check and adjust
at every point A1 and A2 because these variables are not likely to
move in a Ki-fix scan.
@ -680,9 +667,9 @@
described below. In response to the command <em>SW</em>, MAD
generates output of the following form:
1 Powder Mode OFF
2 Polarization mode OFF
Give Switch Number to change or RETURN to finish &gt;
1 Powder Mode OFF
2 Polarization mode OFF
Give Switch Number to change or RETURN to finish &gt;
To change a value of one switch, enter the appropriate number
(from 1 to 2) and hit &lt;Return&gt;. To make no change, type
@ -847,7 +834,7 @@ however, corresponds to a transmission minimum for Ki neutrons.
by SET.
The following list gives the variable identifiers and definitions,
where the order is as the variables are stored in THE Program.
where the order is as the variables are stored in the program.
P.A Variables : Variables marked with an asterisk are not recognized

File diff suppressed because one or more lines are too long

View File

@ -345,6 +345,7 @@ H H L
%html histogram.htm 2
%html nextrics.htm 2
%html peaksearch.htm 2
%html lowmax.htm 2
%html trscan.htm 2
%html psddata.htm 1

View File

@ -11,6 +11,7 @@ TRICS with a PSD requires the following special features.
histogram memory</a>.
<li><a href="nextrics.htm">NeXus</a> data handling for TRICS.
<li>A <a href="peaksearch.htm">peak search</a> command.
<li>A <a href="lowmax.htm">local maximum search</a> command.
<li>A TRICS specific <a href="trscan.htm">count and scan</a> command.
</ul>
</p>

View File

@ -41,7 +41,11 @@ This means the log file has been started at August, 8, 2001 at 00:01:01.
There is a new log file daily. Load appropriate files into the editor and
look what really happened.
</p>
<p>
Another good ideas is to use the unix command grep on assorted log
files. A grep for the strings ERROR or WARNING will more ofteh then
not give an indication for the nature of the problem.
</p>
<p>
The log files show you all commands given and all the responses of the system.
Additionally there are hourly time stamps in the file which allow to narrow
@ -63,12 +67,8 @@ The log files show you all commands given and all the responses of the system.
<dt>EL737__BAD_BSY
<dd>A counting operation was aborted while the beam was off. Unfortunately,
the counter box does not respond to commands in this state and ignores the
stop command sent to it during the abort operation. This can be resolved by
the command:
<pre>
counter stop
</pre>
when the beam is on again.
stop command sent to it during the abort operation. This can be
safely ignored, SICS fixes this condition.
</dl>
</p>
<h2>Starting SICS</h2>

34
doc/user/trscan.htm Normal file
View File

@ -0,0 +1,34 @@
<HTML>
<HEAD>
<TITLE>TRICS specific Count and Scan Command </TITLE>
</HEAD>
<BODY>
<H1>PSD-TRICS Count and Tricsscan Command</H1>
<P>
Two special commands have been defined for TRICS with a PSD:
<dl>
<dt>count <tt>mode preset </tt>
<dd>counts with all three detectors. The parameter mode defines which
counting mode is used, supported are <b>preset</b> for counting up to a
preset monitor or <b>timer</b> for counting for a specified time intervall.
The second prameter preset is either the preset monitor or the preset
counting time, depending on the mode choosen. Both parameters are
optional, if they are notc specified values from the last run will be used.
count does not store any data.
<dt>tricsscan <tt>start step np mode preset</tt>
<dd>This command creates a new data file and then performs a scan in omega,
storing meausured data after each step. <tt>start step np</tt> define the
scan range in omega. Start is the start position, step the step width to
use and np is the number of steps to do. The optional parameters mode and
preset have the same meaning as in the count command described above.
Mode and preset how data is collected at each step in omega.
<dt>psdrefscan filename step np mode preset
<dd>reads reflection HKL values from file filename and performs
tricsscans for each reflection. These will be done eith step width
step, the number of steps np with counting mode mode and a preset of
preset. These parameters have the same meaning as described above.
</dl>
</P>
</BODY>
</HTML>

104
doc/user/userrefman Normal file
View File

@ -0,0 +1,104 @@
\documentclass[12pt,a4paper]{report}
%%\usepackage[dvips]{graphics}
%%\usepackage{epsf}
\setlength{\textheight}{24cm}
\setlength{\textwidth}{16cm}
\setlength{\headheight}{0cm}
\setlength{\headsep}{0cm}
\setlength{\topmargin}{0cm}
\setlength{\oddsidemargin}{0cm}
\setlength{\evensidemargin}{0cm}
\setlength{\hoffset}{0cm}
\setlength{\marginparwidth}{0cm}
\begin{document}
%html -d hr " "
%html -s report
\begin{center}
\begin{huge}
SICS Master User Manual\\
\end{huge}
\today \\
Dr. Mark K\"onnecke \\
Labor f\"ur Neutronenstreuung\\
Paul Scherrer Institut\\
CH--5232 Villigen--PSI\\
Switzerland\\
\end{center}
\clearpage
\clearpage
\tableofcontents
\clearpage
\chapter{Introduction}
This is the master user manual for SICS. It gives an overview over all
command implemented, independent of a specific instrument. This is to
be used as the source for more instrument specific user manuals and
gives an overview of the commands available within SICS. Please note,
that many instruments have special commands realized as scripts in the
SICS built in scripting language. Only the most common of such
commands are listed here.
\chapter{System Commands and Concepts}
%html sicsinvoc.htm 2
%html basic.htm 2
%html logging.htm 2
%html logbook.htm 3
%html commandlog.htm 3
%html batch.htm 2
%html macro.htm 3
%html buffer.htm 3
%html token.htm 2
%html system.htm 2
%html config.htm 2
%html madsim.htm 2
%html trouble.htm 2
\chapter{Hardware Related Commands}
%html drive.htm 1
%html motor.htm 2
%html chopper.htm 2
%html counter.htm 2
%html count.htm 2
%html histogram.htm 2
%html samenv.htm 2
%html ctrl.htm 2
%html velocity.htm 2
%html velolambda.htm 2
\chapter{Common User Commands}
%html topscan.htm 2
%html hkl.htm 2
%html optimise.htm 2
%html xytable.htm 2
%html lowmax.htm 2
\chapter{PSI Specific Commands}
\section{Commands specific to the TOF--diffractometer FOCUS}
%html focussps.htm 3
%html fowrite.htm 3
\section{Reflectometer AMOR specific Commands}
%html amor2t.htm 3
%html amorstore.htm 3
%html amortof.htm 3
\section{TRICS Specific Commands}
%html hklscan.htm 3
%html trscan.htm 3
%html mesure.htm 3
%html nextrics.htm 3
%html peaksearch.htm 3
\section{Fourier Diffractometer POLDI Specific Commands}
%html poldiscan.htm 2
%html poldiwrite.htm 3
\section{Triple Axis Spectrometer Specific Commands}
%html tasmad.html 3
%html tasvariables.html 3
%html tascommands.html 3
\end{document}

359
doc/user/xds.htm Normal file
View File

@ -0,0 +1,359 @@
<HTML>
<HEAD>
<TITLE>TRICS Data Analysis with XDS</TITLE>
</HEAD>
<BODY>
<H1>TRICS Data Analysis with XDS</H1>
<P>
A set of programs exist for TRICS data analysis which have been derived from
the XDS package designed and written by Wolfgang Kabsch. Due to the different
diffraction geometry at TRICS the program had to be subdivided. Data Analysis
with this system requires four steps:
<ol>
<li>Location of strong diffraction spots with the program <b>spots</b>.
<li>Indexing of diffraction spots and refining of a UB matrix with programs of
your choice.
<li>Integration of the diffraction spots with the program <b>reflex</b>.
<li>Optionally, reflections collected in various runs can be merged
with the program <b>xscale</b>.
</ol>
The main limitation of this software is that only reflections at normal
lattice positions can be analysed. Magnetic or superstructure reflections
will not be integrated due to the fact that XDS uses predicted reflection
positions for integration and has no facilities to predict either magnetic
or superstructure reflections.
</P>
<h2>LEGAL STUFF</h2>
<p>
The programs <b>spots</b>, <b>reflex</b>and <b>xscale</b> are no
official versions of XDS. The responsability for these programs lies
with PSI and not with Wolfang
Kabsch. Binaries of the above mentioned programs may be distributed, but
according to an agreement with Wolgang Kabsch the source code may not be
redistributed. If you are interested in an official version of XDS, please
contact Wolgang Kabsch directly.
</p>
<h2><b>Spots</b> and <b>reflex</b> Control File</h2>
<p>
The programs <b>spots</b> and <b>reflex</b> both require a control file
to be specified as a command line parameter. The format of this control
file resembles a Windows .ini file and is common for both programs. The syntax
is: keyword = value.
</p>
<h2>Running <b>spots</b></h2>
<p>
The purpose of <b>spots</b> is to search for strong diffraction spots
in the data and write them out in a format suitable for
indexing. spots can be started by typing:
<pre>
spots controlfile
</pre>
at the unix command prompt. All necessary parameters live in the
control file. spots recognizes the following keywords in the control
file:
<dl>
<dt>numfiles
<dd>The number of files to process.
<dt>fileXX
<dd>Replace XX by the number of the file. For instance file00 is the
first file to process. The value for this keyword is the filename to
process.
<dt>numdetectors
<dd>The number of detectors to process. TRICS can have up to three
detector banks, if the electronics group finally makes them available
by an act of grace.
<dt>det1dist, det2dist, det3dist
<dd> The respective distances of the detectors from the sample
positions.
<dt>det1x, det2x, det3x
<dd>The number of pixels each detector supports in the x-direction.
<dt>det1y, det2y, det3y
<dd>The number of pixels each detector supports in the y-direction.
<dt>
<dt>det1pixx, det2pixx,det3pixx
<dd>The size of a detector pixel in x-direction in mm for each detector.
<dt>det1pixy, det2pixy,det3pixy
<dd>The size of a detector pixel in y-direction in mm for each
detector.
<dt>wavelength
<dd>The neutron wavelength.
<dt>bifile
<dd>Switches on the writing of reflection positions converted to
bissecting positions as from a normal four circle diffractometer. The
value is the name of the file to which to write the list.
<dt>nbfile
<dd>Switches on the writing of reflection positions converted to
normal beam positions as from a normal beamdiffractometer. The
value is the name of the file to which to write the list.
<dt>xyzfile
<dd>Switches on the writing of reflection positions in XYZ format. The
value is the name of the file to which to write the list.
</dl>
bifile, nbfile or xyzfile are choices. Chhose the one which fits best
with your preferred indexing program.
</p>
<h2>Indexing and UB Matrix Refinement</h2>
<p>
For indexing a variety of programs are available:
<ul>
<li>The ancient combination of index and rafin from ILL. For a
description see the four circle single detector section.
<li><b>orient</b> A modern indexing program extracted from Difrac. It
has originally been written by R. A. Jacobsen, Ames Research
laboratory. orient will not only index the reflections found and
determine a UB matrix. It will also refine the UB matrix based on the
reflections given to it and tries to determine the space group as
well.
</ul>
</p>
<h3>Running <b>orient</b></h3>
<p>
In order to start orient, type <b>orient</b> at the unix prompt. A
selection dialog for the file type will show up. Select 2, then give
the path to the file created with the spots option bifile. You will
also be asked for the neutron wavelength. The following dialogs are
self explaining. When orient finishes, the new UB matrix can be found
in either the LPT1 or printer.out file.
</p>
<h2>Running <b>reflex</b></h2>
<p>
<b>reflex</b> is controlled through the same style control.ini file as
used by spots. The options specified for <b>spots</b> have to be
present in the control file for reflex as well. Additionally the
following options are required:
<dl>
<dt>ub1, ub2, ub3
<dd>The three rows of the UB-matrix as determined by one of the
indexing programs.
<dt>axis=0 0 -1
<dd>These are the coordinates of the rotation axis in XDS's own
coordinate system. Leave this at the values stated,
everything else is shit if you are using TRICS.
<dt>beam=0 1 0
<dd>These are the coordinates of the incoming neutron beam in XDS's own
coordinate system. Leave this at the values stated,
everything else is shit if you are using TRICS.
<dt>polarisation=.5 1 0 0
<DD>Some values for handling X-ray polarisation. Leave at the values
given.
<dt>spacegroup
<dd>Set this to the space group selected. Expected is the number of
the space group as given in the international tables.
<dt>divergence
<dd>The beam divergence. See below for a comment.
<dt>mosaic
<dd>The crystal mosaic. mosaic and divergence together determine the
size of the box in reciprocal space which will be integrated for each
reflection. reflex writes a representation of the integration box and
of the reflection to its output file (PROFIT.LP). Inspect this
carefully. If reflections are cut of in the reflection box or the
reflection box is to large, modify these values in order to achieve a
good fit. As more experience is gathered, the instrument scientist
will be able to provide you with reasonable defaults for these values.
</dl>
reflex is run by typing <b> reflex control.ini</b> at the unix
prompt. control.ini is the name of the control file. PROFIT.LP is the
main log file which shows what has been done. PROFIT.HKL is a binary
file holding the reflections integrated.
</p>
<h2>Running <b>xscale</b></h2>
<p>
xscale has not been modified since it has been received from
W. Kabsch. Therefore the original documentation, reproduced below is
still valid.
<pre>
C***********************************************************************
C********************** DESCRIPTION OF FILES ***************************
C***********************************************************************
C *
C XSCALE.INP (formatted sequential) *
C ========== *
C *
C This file contains the input parameters you have to provide to run *
C the XSCALE program.(free format) *
C *
C line # DESCRIPTION OF INPUT PARAMETERS *
C *
C 1 Resolution shell limits (Angstrom). Only the high resolution*
C limit of each shell is given. Up to NRES (20) resolution *
C shells will be accepted. The shell limits must be specified *
C in decreasing order. The resolution shells are used to *
C report statistical properties of the data sets as a function*
C of resolution. *
C 2 Space group number and unit cell parameters *
C (Angstrom and degrees) *
C 3... Each line describes a reflection file used for scaling *
C and contains the following items: *
C >Optional control character - or * of the following meaning *
C -: ignore this data set (this line will be skipped) *
C *: put all data sets to the same scale as this one; *
C default is the first data set. *
C >File name of data set used for scaling. *
C The name must not be longer than 50 characters and *
C intervening blanks are not allowed. *
C >File type must be one of the three following keywords *
C DIRECT: the file is of type XDS.HKL as generated by XDS. *
C UNIQUE: the file is of type UNIQUE.HKL as produced by XDS.*
C OLDHKL: the ASCII file consists of free format records *
C H,K,L,INTENSITY,SIGMA *
C The standard deviation SIGMA may be omitted and *
C is estimated then as SIGMA=0.1*INTENSITY *
C Reflection data files of type UNIQUE or OLDHKL *
C may be unsorted and the reflection indices need *
C not be the asymmetric indices. This simplifies *
C the scaling of data sets generated by other *
C programs than XDS. *
C >Resolution window for accepting reflections from this file *
C low resolution limit (Angstrom) *
C high resolution limit (Angstrom) *
C >Frame separation (mandatory for data sets of type DIRECT) *
C specifying the maximum number of frames between FRIEDEL- *
C pairs to be included in the estimated anomalous intensity *
C difference. *
C >Number of batches (optional for data sets of type DIRECT) *
C This number gives the number of subdivisions of the *
C rotation range covering the data set. Typically, it is *
C the total rotation range divided by 2.5...5 degrees, but *
C should not exceed a value of 36. This leads to at most *
C 9*36=324 scaling factors for a single data set. The total *
C number of scaling factors from all data sets together *
C must not exceed the value given by "MAXFAC" (1000). *
C >SAVE=file-name (optional); default file-name is XSCALE.HKL *
C The type of the SAVE-file produced is UNIQUE. Symmetry *
C related reflections from input data sets sharing the same *
C SAVE-file are used after scaling to estimate a mean *
C intensity, an anomalous intensity difference, and their *
C standard deviations. Scaling factors for each data set *
C are determined from all symmetry related reflections *
C regardless whether they go to different SAVE-files. *
C *
C***********************************************************************
C *
C XSCALE.LP (formatted sequential) *
C ========= *
C *
C This file contains the printed messages and results from running the *
C XSCALE-program. *
C *
C***********************************************************************
C *
C Description of XSCALE input file format of type DIRECT as produced *
C by XDS. *
C *
C XDS.HKL (unformatted direct access) *
C ======= *
C *
C The corrected reflection intensities are saved on this unformatted *
C direct access file of record length 68 bytes for each reflection. *
C The file is sorted with respect to the unique reflection indices. *
C This means: *
C For each reflection with the original indices H,K,L all symmetry *
C equivalent indices are generated including Friedel related ones. *
C Among all these indices we choose the unique reflection indices *
C HA,KA,LA in the following order: HA is the largest H-index, among *
C those with the same HA-value select those with the largest K-index *
C which is KA, and finally the largest L-index which is called LA. *
C The unique indices HA,KA,LA thus found are packed into a 32-bit *
C word KEY=(LA+511)+(KA+511)*1024+(HA+511)*1048576 . *
C The reflections are then sorted in growing values of KEY. *
C *
C Record structure *
C *
C 16bit-WORD # CONTENTS *
C 1 HA (The last record is indicated by HA=10000) *
C 2 KA HA,KA,LA are the unique reflection indices. *
C 3 LA Any two reflections have the same unique *
C indices if and only if they are related by *
C symmetry. (HA,KA,LA are integer*2) *
C 4 H Original reflection indices H,K,L. *
C 5 K H,K,L are integer*2. *
C 6 L *
C 7 S Identifying number of symmetry operator used *
C to go from original to unique indices. *
C (integer*2). A negative sign indicates that *
C a mirror operation has been applied. This *
C information may be useful if a special *
C treatment for anomalous differences is *
C required which goes beyond the method of *
C the XDS-program. *
C 8 IPEAK Percentage of observed reflection intensity. *
C A value less than 100 indicates either a *
C reflection overlap or bad spots in the profile*
C 9 ICORR Percentage of correlation (integer*2) between *
C observed and expected reflection profile. *
C 10,11 FFADD LP-corrected intensity of this reflection *
C obtained by straight summation of counts *
C within spot region ( background subtracted). *
C The intensity is also corrected for radiation *
C damage and absorption. (real*4) *
C 12,13 SDADD Standard deviation of FFADD.(real*4) *
C 14,15 RLP Reciprocal LP-correction factor (real*4) *
C 16 ABSCAY Combined absorption and decay correction *
C factor*1000 (integer*2). *
C In case you want to remove this calculated *
C correction, divide intensities and standard *
C deviations by ABSCAY/1000.0 . *
C 17 IALFA IALFA and IBETA (both integer*2) are polar- *
C 18 IBETA coordinates of the spindle axis in units of a *
C hundreth of a degree. The lab coordinates of *
C the spindle axis are: *
C Ux=sin(BETA)*cos(ALPHA) *
C Uy=sin(BETA)*sin(ALPHA) *
C Uz=cos(BETA) *
C where ALPHA=IALFA/5729.578, *
C BETA =IBETA/5729.578. *
C 19 IFRM Frame number at diffraction of this reflection*
C (integer*2) *
C 20 PHI Calculated spindle position for this *
C reflection at diffraction in units of a *
C hundreth of a degree. (integer*2) *
C 21 IX, Calculated detector x- and y-coordinates for *
C 22 IY this reflection at diffraction in units of a *
C tenth of a pixel times 512.0/NX and 512.0/NY, *
C respectively. NX, NY are the numbers of pixels*
C along the detector X- and Y-axis. *
C IX,IY are integer*2. *
C 23-28 S0 Laboratory coordinates of direct beam wave- *
C vector ( rec. Angstroem). S0 points from the *
C x-ray source towards the crystal. *
C 29-34 S1 Laboratory coordinates of scattered beam wave-*
C vector. Length is 1.0/lambda (rec. Angstroem) *
C S0 and S1 are real*4 arrays of length 3. S1 *
C points from the crystal towards the detector. *
C At diffraction, laboratory coordinates of the *
C reflection H,K,L are: S1(.)-S0(.) *
C *
C***********************************************************************
C *
C Description of XSCALE input file format of type UNIQUE as produced *
C by XDS. *
C *
C UNIQUE.HKL (formatted sequential) *
C ========== *
C *
C DESCRIPTION OF SHORT OUTPUT FILE *
C *
C Symmetry related reflections are averaged and written with *
C FORMAT(3I5,4E12.4). Each record consists of *
C *
C HA,KA,LA,INTENSITY,STANDARD DEVIATION OF INTENSITY, *
C ANOMALOUS INTENSITY DIFFERENCE,STANDARD DEVIATION OF DIFFERENCE *
C *
C where HA,KA,LA are the unique reflection indices. The file is sorted *
C with respect to these unique reflection indices. The last record *
C is indicated by HA=10000. *
C Unobserved ANOMALOUS INTENSITY DIFFERENCE and its STANDARD DEVIATION *
C are both set to zero. *
C *
C***********************************************************************
</pre>
xscale can be started by typing <b>xscale</b> at the unix
prompt. Please note that xscale expects an input file named XSCALE.INP
in the current directory.
</p>
</BODY>
</HTML>