- Updated docs

SKIPPED:
	psi/utils/SerPortServer.c
This commit is contained in:
koennecke
2005-04-06 15:05:29 +00:00
parent 010bd79ca2
commit 97cf408ca8
36 changed files with 529 additions and 153 deletions

View File

@ -4,7 +4,7 @@
# Mark Koennecke, Juli 1998
#------------------------------------------------------------------------
all: topsi dmc sans focus poldi
all: topsi dmc sans focus poldi tricsman userrefman
topsi:
html2tex topman
@ -31,3 +31,19 @@ poldi:
latex poldiman
latex poldiman
dvips -o poldiman.ps poldiman.dvi
poldi:
html2tex poldiman
latex poldiman
latex poldiman
dvips -o poldiman.ps poldiman.dvi
tricsman:
html2tex tricsman
latex tricsman
latex tricsman
dvips -o tricsman.ps tricsman.dvi
userrefman:
html2tex userrefman
latex userrefman
latex userrefman
dvips -o userrefman.ps userrefman.dvi

104
doc/user/amor.htm Normal file
View File

@ -0,0 +1,104 @@
<HTML>
<HEAD>
<TITLE>AMOR Reference Manual</TITLE>
</HEAD>
<BODY>
<!latex-off>
<H1>AMOR Reference Manual</H1>
<!latex-on>
<P>
Welcome to the reflectometer AMOR at SINQ! This manual describes how
to operate AMOR through the SICS instrument control software.
SICS means: Sinq Instrument Control System. AMOR can be operated in
one out of two modes:
<ul>
<li>Single Counter Mode. In this mode normal scans are performed with
a single counter.
<li>Time-Of-Flight Mode. In this mode the position sensitive detector
is operated in time of flight mode with a chopper providing the time
structure of the neutron beam.
</ul>
</p>
<h1>SICS Introduction</h1>
<p>
SICS is a client server system. This means there is a magic server
program running on the instrument computer which does all the work.
The user interacts with SICS
only with client applications which communicate with the server
through the network. Most instrument hardware (motor controllers,
counter boxes etc.) is connected to the system through RS-232 serial
connections. These RS-232 ports are connected to a terminal server
which is accessed through another server program, the SerPortServer
program, which is also running on the instrument computer. Then there
is the position sensitive detector. Neutrons collected in the PSD are
formatted into a special message format by the elctronics and
forwarded through a fibre optic link to the histogram memory
computer. This is a VME Motorola on board computer which then is
responsible for summing the neutrons events appropriatetly. The on
board computer is connected to the TCP/IP network and acts as a
server as well which handles the configuration and readout of the
histogram memory.
The SICS server communicates with this terminal server and other
devices through the network.
</P>
<!latex-off>
<h1>Starting and Stopping</h1>
<ul>
<li><a href="sicsinvoc.htm">Logging</a> in to SICS.
<li>The <a href="amorcli.htm">AMOR client</a> program.
</ul>
<h1>General User Commands</h1>
<p>
<ul>
<li><a href="drive.htm">Driving</a> motors.
<li><a href="amomot.htm">List</a> of AMOR motors.
<li><a href="amor2t.htm">AMOR Two Theta</a> virtual motor.
<li><a href="logging.htm">Logging</a> actions.
<li><a href="batch.htm">Batch</a> processing.
<li><a href="token.htm">Grabbing control</a>.
<li><a href="amomisc.htm#shutter">Shutter</a> control.
</UL>
</p>
<h1>AMOR in Single Counter Mode</h1>
<p>
<ul>
<li>Some <a href="amorsingle.htm">general</a> remarks.
<li>Doing a <a href="topscan.htm">scan</a>.
</ul>
</p>
<h1>AMOR in Time-Of-Flight Mode</h1>
<p>
<ul>
<li>General <a href="amortof.htm">Remarks</a>.
<li>Configuring the <a href="amortof.htm#conf">histogram memory</a>.
<li>Configuring <a href="amortof.htm#chop"> chopper</a> related
parameters.
<li><a href="count.htm">Counting</a>.
<li><a href="amorstore.htm">Data Storage</a>
</ul>
</p>
<h1>Advanced Topics</h1>
<p>
<UL>
<li>Handling <a href="samenv.htm">sample environment</a> devices in SICS.
<li>Configuring <a href="histogram.htm">histogram memory</a>
<li><a href="motor.htm">Motor Parameters</a>.
<li>Dealing with the <a href="counter.htm">counter box</a>.
<li>Directly access a <a href="ctrl.htm">serial device.</a>
<li>SICS <a href="system.htm">system commands</a>.
<li>Configuring a <a href="config.htm">client connection</a> manually.
<li><a href="trouble.htm">Trouble</a> shooting.
</UL>
</p>
<h1>Download Manual</h1>
<ul>
<li><a href="amorman.ps">Postscript Format</a>,246KB
</ul>
<!latex-on>
</BODY>
</HTML>

View File

@ -46,6 +46,7 @@ Switzerland\\
%html commandlog.htm 3
%html batch.htm 2
%html macro.htm 3
%html exeman.htm 3
%html buffer.htm 3
%html token.htm 2
%html amomisc.htm 2

View File

@ -34,8 +34,6 @@ interrogated by typing the name of the variable, and set by typing the
name of the variable followed by the new value. The following
variables are relevant:
<dl>
<dt>chopperrotation
<dd>Chopper Rotation speed.
<dt>user
<dd>User name
<dt>email

22
doc/user/auto.htm Normal file
View File

@ -0,0 +1,22 @@
<HTML>
<HEAD>
<TITLE>TRICS Data Analysis with Autocloud</TITLE>
</HEAD>
<BODY>
<H1>TRICS Data Analysis with Autocloud</H1>
<P>
Autcloud is an experimental software which integrates reflections from a
3D data volume without any prior information. Reflections are located
through a template matching approach in 3D. Template Matching is a common
digital signal processing method for enhancing a signal against a
background. This program may still contain very major algorithmical
and programming errors as it could not yet be tested against real data.
Data Analysis with autocloud requires two steps:
<ul>
<li>Reflection <a href="autocloud.htm"> integration </a> with autocloud.
<li>Indexing of the reflections found. This can be done with the program
<b>orient</b>. Just select data type 3 and answer the questions asked.
</ul>
</P>
</BODY>
</HTML>

View File

@ -43,12 +43,15 @@ operation. The general syntax for handling such parameters is:
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>SICS variables</h3>
<p>
Most of the parameters SICS uses are hidden in the objects to which they belong. But some are separate objects of their own right and are accessible at top level. For instance things like Title or wavelength. They share a common syntax for changing and requesting their values. This is very simple: The command <i> objectname </i> will return the value, the command <i> objectname newvalue </i> will change the variable. But only if the authorisation codes match. </p>
<p>
<h3>Authorisation</h3>
<p>
A client server system is potentially open to unauthorised hackers
@ -60,25 +63,8 @@ sets the parameter value to newvalue if you are properly authorized.
<li> <b> Manager </b> has the permission to mess with almost everything. A very dangerous person.
<li> <b> Internal </b> is not accessible to the outside world and is used to circumvent protection for internal uses. However some parameters are considered to be so critical that they cannot be changed during the runtime of the SICS-server, not even by Managers.
</ul>
All this is stated here in order to explain the common error message: You are not authorised to do that and that or something along these lines.</p>
<h3>SICS variables</h3>
<p>
Most of the parameters SICS uses are hidden in the objects to which they belong. But some are separate objects of their own right and are accessible at top level. For instance things like Title or wavelength. They share a common syntax for changing and requesting their values. This is very simple: The command <i> objectname </i> will return the value, the command <i> objectname newvalue </i> will change the variable. But only if the authorisation codes match. </p>
<p>
<h3>The SICS Command Line Client</h3>
The most common client for controlling SICS is the <b>SICS command line
client</b>.
This application can be started by typing the command:
<pre>
sics &
</pre>
at the Unix prompt. Before this program is ready to collaborate with you you
have to connect it to an instrument using the options in the connect
pulldown menu. The screen is roughly divided in three areas: The top area
shows all input to and output from the server. The middle area shows the
command history. At the lower end is a text entry field which allows you to type
commands to be sent to the SICS server. For more information about this client consult
the online help of this application.
</p>
All this is stated here in order to explain the common error message:
You are not authorised to do that and that or something along these
lines.</p>
</body>
</html>

View File

@ -13,6 +13,8 @@ sleep. SICS supports two different ways of doing this:
popular scripting language Tcl. The most primitive usage of this
facility is processing batch files.
<li>Second there is the <a href="buffer.htm">LNS R&#252;nbuffer</a> system.
<li>Third there is the new <a href="exeman.htm">Batch File</a> execution
system.
</ul>
</P>
</BODY>

View File

@ -5,8 +5,8 @@
<BODY>
<H1>Chopper Control</H1>
<P>
FOCUS is equipped with a Dornier Chopper system running two choppers:
a disk chopper and a fermi chopper. In most situations the diskchopper is
Some instruments are equipped with a Dornier Chopper system running one or more choppers:
a disk chopper and possibly a fermi chopper. In most situations the diskchopper is
in slave mode. This means his speed is a predefined ratio of the
speed of the fermichopper. Furthermore, there is a phase difference between
the two choppers in order to allow for the fligh time of neutrons
@ -41,7 +41,7 @@ The following virtual motor variables exist for the chopper system.
<dL>
<DT>fermispeed
<DD>fermi chopper speed
<DT>diskspeed
<DT>diskspeed or chopperspeed
<DD>disk chopper speed. Note, that driving this parameter while the
chopper system is in synchronous mode will throw an error condition.
<DT>phase

View File

@ -40,6 +40,12 @@ filename in unix.
<li><b> config close num</b> closes the log file denoted by num again.
<li><b>config list</b> lists the currently active values for outcode and user
rights.
<li><b>config myname</b> retruns the name of the connection.
<li><b>config myrights</b> prints the rights associated with your connection.
<li><b>config listen 0 or 1</b>switches listening to the commandlog on
or off for this conenction. If this on, all output to the commandlog,
i.e. all interesting things happening in SICS, is printed to your
connection as well.
</ul>
<p>
</body>

View File

@ -15,6 +15,6 @@
<DD> Calls count num times. num is a required parameter. The other two are
optional and are handled as described above for count.
</dl>
Both commands make sure, that measured data is written to files.
Both commands make sure that measured data is written to files.
</body>
</html>

View File

@ -51,6 +51,7 @@ adjusted to any value within its wavelength range.
%html system.htm 1
%html config.htm 1
%html macro.htm 1
%html exeman.htm 2
%html buffer.htm 1
%html drive.htm 1
%html logbook.htm 2

View File

@ -5,7 +5,7 @@
<body>
<h2>Drive commands</h2>
<p>
Many objects in SICS are <b> drivable </b>. This means they can run to a new value. Obvious examples are motors. Less obvious examples include composite adjustments such as setting a wavelength or an energy. This class of objects can be operated by the <b> drive, run, Success </b> family of commands. These commands cater for blocking and non-blocking modes of operation.</p>
Many objects in SICS are <b> drivable </b>. This means they can run to a new value. Obvious examples are motors. Less obvious examples include composite adjustments such as setting a wavelength or an energy. Such devices are alos called virtual motors. This class of objects can be operated by the <b> drive, run, Success </b> family of commands. These commands cater for blocking and non-blocking modes of operation.</p>
<p>
<b> run var newval var newval ... </b> can be called with one to n pairs of object new value pairs. This command will set the variables in motion and return to the command prompt without waiting for the requested operations to finish. This feature allows to operate other devices of the instrument while perhaps a slow device is still running into position.</p>
<p>

View File

@ -43,6 +43,7 @@ Switzerland\\
%html commandlog.htm 3
%html batch.htm 2
%html macro.htm 3
%html exeman.htm 3
%html buffer.htm 3
%html token.htm 2
%html focussps.htm 2

View File

@ -12,14 +12,16 @@ handled automatically by the <a href="count.htm">count</a>
command. However, data file writing can be initiated and configured
manually from the command line through the following commands:
<dl>
<DT>storefocus start
<DT>focusstart
<DD>Write a new data file
<DT>storefocus update
<DT>focusupdatescript
<DD>Updates the current data file.
<DT>storefocus intervall
<DT>focuslink
<DD>Creates NeXus links in the data file.
<DT>focusupdate updateintervall
<DD>prints the current update intervall to use during counting. Units
is minutes.
<DT>storefocus intervall newval
<DT>focusupdate updateintervall newval
<DD>Sets the update intervall to newval minutes.
</DL>
FOCUS has three detector banks which may not all be active at all

View File

@ -17,6 +17,7 @@ the SICS server.
<li> A few commands <a href="config.htm">change</a> user rights, set output files and the like.
<li> SICS has a built in <a href="macro.htm">macro</a> facility which is accessible through a few commands.
<li> Then there is the <a href="buffer.htm">famous</a> LNS-R&#252;nbuffer system.
<li> The new <a href="exeman.htm">batch file</a> processing system.
<li> Motors and parameters need to be <a href="drive.htm">drive</a>n.
<li> SICS has a facility to <a href=optimise.htm>optimise</a> a peak with respect to several
parameters.
@ -26,7 +27,7 @@ parameters.
SICS has various ways (to many!) to log the I/O from and to an
instrument control server. This has devolped over time and may need a
cleanup.
<ol>
<ul>
<li>There exists a server log where all I/O and internal
messages is written to automatically. As this can get quite large the
files

View File

@ -3,7 +3,7 @@
<TITLE>Hklscan</TITLE>
</HEAD>
<BODY>
<H1>Hklscan and Hklscan2d</H1>
<H1>Hklscan and Hklscan2d (Obsolete)</H1>
<P>
Hklscan is a command which allows to scan in reciprocal space expressed as
Miller indizes on a four circle diffractometer. Hklscan operates with
@ -39,5 +39,9 @@ Data is written automatically into a slightly modified TOPSI data format
might be slightly erratic as it uses two theta as x-axis. Hklscan2d
writes data into NeXus files.
</P>
<p>
hklscan is obsolete. As of 2005, h, k, l are normal virtual motors and can be
used with the SICS built in scan commands.
</p>
</BODY>
</HTML>

47
doc/user/hrptdev.htm Executable file
View File

@ -0,0 +1,47 @@
<html>
<head>
<title>HRPT motor list</title>
</head>
<body>
<H2>HRPT motor list</H2>
<P>
<DL>
<DT>CEX1
<DD>inner collimator drum
<DT>CEX2
<DD>outer collimator drum
<DT>MOMU, A1
<DD>omega rotation of upper monochromator crystal.
<DT>MTVU, A12
<DD>translation vertical to the upper crystal.
<DT>MTPU, A13
<DD>translation paralell to the upper crystal
<DT>MGVU, A14
<DD>tilt goniometer vertical to upper crystal.
<DT>MGPU, A15
<DD>tilt goniometer paralell to upper crystal.
<DT>MCVU, A16
<dd>vertical curvature of upper crystal.
<DT>MOML, B1
<DD>omega rotation of lower monochromator crystal.
<DT>MTVL, A22
<DD>translation vertical to the lower crystal.
<DT>MTPL, A23
<DD>translation paralell to the lower crystal
<DT>MGVL, A24
<DD>tilt goniometer vertical to lower crystal.
<DT>MGPL, A25
<DD>tilt goniometer paralell to lower crystal.
<DT>MCVL, A26
<dd>vertical curvature of lower crystal.
<dT>MEXZ, A37
<DD>lift
<DT>Table, A3
<DD>Sample rotation.
<DT>TwoThetaD, A4
<DD>Two Theta detector.
</DL>
</p>
</body>
</html>

View File

@ -8,15 +8,6 @@
SICS offers not less then three different ways of logging your
commands and the SICS server's responses:
<ul>
<li>The SICS command line client allows to open a log file on your
local computer and on your account. This can be achieved through the
File/Open Logfile menu entry. Select a file name and hit save. From
then on, any output in the SICS clients terminal area will be written
into the selected file. There is a gotcha: ouptut may not be immediately
visible in the file. This is due to buffering of I/O by the operating
system. If you want to flush, either open a new file or exit the
client. Flushing I/O at each line written is possible, but would have
a massive and unacceptable performance impact.
<li>You may create a similar per client log file on the computer running
the SICS server through the <a href="logbook.htm">logbook</a> command.
<li>Then there is a way to log all activity registered from users with

View File

@ -16,7 +16,11 @@ 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.
directory without specifying the full path. Please note that fileeval and batchrun are obsolete and
to be replaced by the new batch manager command, <a href="exeman.htm">exe</a>, as described below.
</p>
<p>
Then there are some special commands which can be used within macro-sripts:
<p>
<b> ClientPut sometext1 ... </b>Usally SICS suppresses any messages

24
doc/user/madsim.htm Normal file
View File

@ -0,0 +1,24 @@
<HTML>
<HEAD>
<TITLE>Simulation Mode</TITLE>
</HEAD>
<BODY>
<H1>Simulation Mode</H1>
<P>
For testing batch files or in order to check the movement of the
instrument it may be helpful to run SICS in simulation mode. You must
theb connect to a special simulation
SICS server which may have been setup for you. In the
simulation server, everything is like in the actual SICS server,
except that no hardware is moved, co counts collected and no data file
written. There is one speciality, however. The command:
<pre>
<em>sync</em>
</pre>
synchronizes the parameters and limits in the simulation server with
those in the instrument server.
</P>
</BODY>
</HTML>

View File

@ -34,6 +34,7 @@ status display clients.
Please note that the actual driving of the motor is done via the <a href="drive.htm">drive</a> command.</p>
<hr size=4 width="66%">
<h2>The motor parameters</h2>
<p>
<ul>
<li> <b> HardLowerLim </b> is the hardware lower limit. This is read from the motor controller and is identical to the limit switch welded to the instrument. Can usually not be changed.
<li> <b> HardUpperLim </b> is the hardware upper limit. This is read from the motor controller and is identical to the limit switch welded to the instrument. Can usually not be changed.
@ -58,9 +59,12 @@ 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
<li><b> ignorefault </b>If this is bigger then 0, positioning faults
from the motor will be ignored.
</ul>
This list of parameters may be enhanced buy driver specific
parameters. motor list will show all parameters.
</p>
<p>
<h2>Motor Error Handling Concepts</h2>
<p>
@ -94,13 +98,13 @@ maxretries repositionings, a HWFault is assumed.
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
If SICS tries to drive an axis which is broken 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
sequence. This means SICS increments a mispositioning counter if it cannot drive a
motor, if the motor is driven succesfully, the mispositioning counter 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
@ -116,7 +120,7 @@ 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.
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

View File

@ -42,7 +42,8 @@ Switzerland\\
%html logbook.htm 3
%html commandlog.htm 3
%html batch.htm 2
%html macro.htm 3
%html macro.htm 3
%html exeman.htm 3
%html buffer.htm 3
%html token.htm 2

View File

@ -7,10 +7,12 @@
<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.
<li>A program called cami4pcd for visually inspecting TRICS data files and for performing
computer aided manual integration of TRICS data files.
<li>A program called anatric for extracting reflection positions for UB matrix refinement
and the extraction of integrated intensities for structure determination.
</ul>
Both programs are described in separate documents (or not as in the case of cami4psd).
</P>
</BODY>
</HTML>

View File

@ -88,6 +88,8 @@ implemented are:
<DT>Safe
<DD> Tries to run the environment device to a value considered safe by the
user.
<DT>Script
<DD>Run a user defined script to do any magic things you may want.
</DL>
</p>
@ -176,9 +178,13 @@ Possible values are:
<LI>1 for Pause.
<LI> 2 for Interrupt
<LI> 3 for Safe.
<LI> 4 for Script.
</UL> For an explanantion of these values see the section about <a
href="#error">error</a> handling
above.
<DT>errorscript
<DD>The user specified script to execute when the controlled value goes out of
tolerance. Will be used whne the ErrHandler 4, script, is used.
<DT> Interrupt
<DD> The interrupt to issue when an error is detected and Interrupt error
handling is set. Valid values are:

View File

@ -42,6 +42,7 @@ programmers reference.
%html system.htm 1
%html config.htm 1
%html macro.htm 1
%html exeman.htm 2
%html buffer.htm 1
%html drive.htm 1
%html logbook.htm 3

View File

@ -29,7 +29,7 @@ Currently the following SICS clients are available:
<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 MORPHEUS and general scans.
<li> A status display for SANS and SANS2.
<li> A status display for FOCUS.
<li> A AMOR control and status program.
@ -53,7 +53,7 @@ privileged SICS user.
</p>
<h2>Starting SICS client applications </h2>
<p>
These programs can be started on a DigitalUnix system by issuing the
These programs can be started on a Linux system by issuing the
following commands at the command prompt:
<dl>
<DT>sics &
@ -61,7 +61,7 @@ following commands at the command prompt:
<DT>powderstatus &
<DD> for the DMC status display client.
<DT>topsistatus &
<DD>for the TOPSI status display.
<DD>for the MORPHEUS status display.
<DT>sansstatus &
<DD> for the SANS status display.
<DT>focustatus
@ -72,13 +72,9 @@ 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-&
<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
@ -102,41 +98,82 @@ active. A connection is established through the connect menu of the client.
SICS is a multi user instrument control system. In order to prevent
malicious manipulations of the instrument SICS supports a hierarchy of user
rights. In order to run an experiment you need at least user level privilege.
In order to achieve this privilege you have to invoke the User Parameter/Set
Rights dialog. There you have to enter the apropriate username and password
In order to achieve this privilege you have to invoke the Authorize
dialog. There you have to enter the apropriate username and password
kindly provided by your instrument scientist.
</p>
<h2>Restarting the Server</h2>
<p>
The SICS server should be running all the time. It is only down if something
went wrong. You can check for the presence of the SICS server by loging in
to the instrument computer and typing <b>CheckSICS</b> at the command
to the instrument computer and typing <b>monit status</b> at the command
prompt. The output will tell you what is happening. If you need to restart
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 = dmc, User = dmc
<DT>TOPSI
<DD>Computer = topsi, User = TOPSI
<DD>Computer = morpheus, User = morpheus
<DT>SANS
<DD>Computer = sans, User = SANS
<DD>Computer = sans, User = sans
<DT>SANSLI
<DD>Computer = sans2, User = sans2
<DT>TRICS
<DD>Computer = lnsa18, User = TRICS
<DD>Computer = trics, User = trics
<DT>HRPT
<DD>Computer = lnsa11, User = HRPT
<DD>Computer = hrpt, User = hrpt
<DT>FOCUS
<DD>Computer = lnsa16, User = FOCUS
<DD>Computer = focus, User = focus
<DT>AMOR
<DD>Computer = lnsa14, User = AMOR
<DD>Computer = amor, User = amor
<DT>TASP
<DD>Computer = tasp, User = TASP
<DD>Computer = tasp, User = tasp
<DT>POLDI
<DD>Computer = poldi, User = POLDI
<DD>Computer = poldi, User = poldi
</dl>
For starting the SICS server type <b>startsics</b>. This is a shell script
which will starts all necessary server programs. This script works only on
the instrument computer and in the appropriate instrument account.
The SICS server process are controlled through the monit program. Usually the monit
daemon is running. If not, for instance after a reboot, it can be
started by typing <b>monit</b> at the unix prompt logged in as the
instrument user. Further monit commands:
<dl>
<dt> monit start target
<dd>start the monit surveyed process target. For the choice of targets
see below.
<dt> monit stop target
<dd>stops the monit surveyed process target. For the choice of targets
see below.
<dt> monit restart target
<dd>restart the monit surveyed process target. Possible targets are:
<dl>
<dt>sicsserver
<dd>The SICServer
<dt>SerPortServer
<dd>The serial port control program
<dt>sync
<dd>The file synchronisation program. This is responsible for coyping
data files to the common AFS area.
<dt>simserver
<dd>Only on TASP: a simulation SICS server
<dt>all
<dd>Stop all processes
</dl>
<dt>monit status
<dd>prints a status listing of everything watched by monit
<dt>monit quit
<dd>Stops monit itself
</dl>
Stopping everything thus involves two commands:
<ul>
<li> monit stop all
<li> monit quit
</ul>
Restarting after this involves:
<ul>
<li>monit
</ul>
The older command startsics and killsics are still working and operate
on the monit daemon as of now.
</p>
<p>
If all this does not help look under <a href="trouble.htm">trouble shooting

View File

@ -35,6 +35,7 @@ Switzerland\\
%html system.htm 1
%html config.htm 1
%html macro.htm 1
%html exeman.htm 2
%html buffer.htm 1
%html drive.htm 1
%html logbook.htm 2

View File

@ -93,6 +93,37 @@ can be given in order to allow for several scan variables.
the mode currently configured active in the scan object is used.
</UL>
</p>
<h2>Fastscan</h2>
<p>
At some instruments there is a fastscan facility. This scan starts a
motor and the counter. As often as possible or configured, the scan
module will calculate the difference to the previous count, normalize
it to the monitor difference and print it. This is usually faster then
doing a step scan. There are limitations, though:
<ul>
<li>Fastscans are restricted to one motor. There is no way that a
coordinated movement of several motors can be enforced by fastscan
without mechanical coupling.
<li>Due to the volatile nature of the beam at SINQ, this type of scans
come into problems when the beam is off. A warning is printed, but...
<li>If the motor is driving to fast, there might not be enough
neutrons around even in the peak to be registered.
</ul>
Basically, <b>if you see a feauture in fastscan, it is there, if not,
that does not mean anything!</b>. Fastscan comes into its own for
alignment scans or when searching peaks. The syntax is:
<dl>
<dt>fastscan motor start stop speed
<dd>Runs a fastscan on motor between start and stop. Speed is the
speed with which the motor is run. The motors speed is reset to the
original value when fastscan finishes.
<dt>diffscan skip val
<dd>If fastscan produces to much output on to short intervalls,
increasing the skip parameter allows to control that. Skip is the
number of SICS cyles to skip between measurements. Thus this value is
highly dependent on the overall performance of SICS.
</dl>
</p>
<h2>Peak And Center</h2>
<p>
These two commands are related to the scan command insofar as they act upon
@ -107,5 +138,17 @@ the position, FWHM and maximum value of the peak in the last scan. The
The two points are interpolated from the data and the peak position
calculated as the middle point between the two halfheight points.
</p>
<h2>PSD scans</h2>
<p>
Some instrument wish to perform scans with position sensitive
detectors. In such cases the scan mode can be switched between PSD and
normal mode. This is done through the commands:
<dl>
<dt>scan2d
<dd>Switches PSAD detetcor scanning on.
<dt>scan1d
<dd>Switches back to normal scan mode on a single counter.
</dl>
</p>
</body>
</html>

View File

@ -41,7 +41,8 @@ Switzerland\\
%html logbook.htm 2
%html commandlog.htm 2
%html macro.htm 1
%html buffer.htm 1
%html exeman.htm 3
%html buffer.htm 2
%html hkl.htm 2
%html config.htm 1
%html system.htm 1
@ -339,6 +340,7 @@ H H L
\end{verbatim}
%html mesure.htm 2
%html ubcalc.htm 2
%html hklscan.htm 2
%html tricspsd.htm 1
@ -349,7 +351,4 @@ H H L
%html trscan.htm 2
%html psddata.htm 1
%html xds.htm 2
%html auto.htm 2
%html autocloud.htm 3
\end{document}

View File

@ -71,6 +71,13 @@ The log files show you all commands given and all the responses of the system.
safely ignored, SICS fixes this condition.
</dl>
</p>
<h2>Restarting SICS</h2>
<p>
All of SICS can be restarted through the command:
<pre>
monit restart all
</pre>
</p>
<h2>Starting SICS</h2>
<p>
An essential prerequisite of SICS is that the server is up
@ -79,7 +86,7 @@ fails. Only after a reboot or when the keepalive processes were killed (see
below) the SICServer must be restarted. This is done for all instruments by
typing:
<pre>
startsics
monit
</pre>
at the command prompt. startsics actually starts two programs: one is
the replicator application which is responsible for the automatic
@ -95,9 +102,10 @@ everything the server process must be killed. This can be accomplished either m
</p>
<h2>Stopping SICS</h2>
<p>
All SICS processes can be stopped through the command:
All SICS processes can be stopped through the commands:
<pre>
killsics
monit stop all
monit quit
</pre>
given at the unix command line. You must be the instrument user
(for example DMC) on the instrument computer for this to work properly.
@ -123,81 +131,40 @@ can not be resolved by simple means.
<p>
Sometimes it happens that the SICServer hangs while starting up or hardware
components are not properly initialized. In such cases it is useful to
look at the SICS servers startup messages. In order to do so, both the
SICServer and its keepalive process must be killed first. On the instrument
acount issue the command:
look at the SICS servers startup messages.
On the instrument account issue the commands:
<pre>
ps -A | grep SICS
monit stop sicsserver
cd inst_sics
./SICServer inst.tcl | more
</pre>
A message like this will be printed:
Replace inst with the name of the appropriate instrument in lower case.
For example, from the home directory of the hrpt account on the computer hrpt:
<pre>
23644 ?? I 0:00.00 ksh keepalive SICServer focus.tcl
23672 ?? R 59:24.05 SICServer focus.tcl
7119 ttyp6 S + 0:00.00 grep SICS
cd
monit stop sicsserver
cd hrpt_sics
./SICServer hrpt.tcl | more
</pre>
Remember the numbers in the first columns (the PID's) and kill both
programs by issuing the command:
<pre>
kill -9 pid pid
</pre>
Example:
<pre>
kill -9 23644 23672
</pre>
Note, the numbers are those displayed with the ps -A command.
Then cd into the bin directory of the instrument account and issue
the unix command:
<pre>
SICServer inst.tcl | more
</pre>
Replace inst.tcl with the name of the appropriate instrument initialisation
file. This allows to page through SICS startup messages and will help to
This allows to page through SICS startup messages and will help to
identify the troublesome component. The proceed to check the component and
the connections to it.
</p>
<h2>Getting New SICS Software</h2>
<p>
Sometimes you might want to be sure that you have the latest SICS software.
This is how to get it:
<ol>
<li>Login to the instrument account.
<li>If you are no there type cd to get into the home directory.
<li>Type <b>killsics</b> at the unix prompt in order to stop the SICS server.
<li>Type <b>sicsinstall exe</b> at the unix prompt for copying new
SICS software from the general distribution area.
<li>Type <b> startsics</b> to restart the SICS software.
</ol>
</p>
<h2>Hot Fixes</h2>
<p>
When there is trouble with SICS you may be asked by one of the SICS
programmers to copy the most recent development reason of the SICS server
to your machine. This is done as follows:
<ol>
<li>Login to the instrument account.
<li>cd into the bin directory, for example: /home/DMC/bin.
<li>Type <b> killsics</b> at the unix prompt in order to stop the SICS server.
<li>Type <b>cp /data/koenneck/src/sics/SICServer .</b> at the unix prompt.
<li>Type <b> startsics</b> to restart the SICS software.
</ol>
<b>!!!!!! WARNING !!!!!!!. Do this only when advised to do so by a competent
SICS programmer. Otherwise you might be copying a SICS server in an
instable experimental state!</b>
</p>
<h2> HELP debugging!!!!</h2>
<p>
The SICS server hanging or crashing should not happen. In order to sort such
problems out it is very helpful if any available debugging information is
saved and presented to the programmers. Information available are the log
files as written continously by the SICS server and posssible core files
lying around. They have just this name: core. In order to save them create a
lying around. They have just this name: core.pid, where pid is the process identification number.
In order to save them create a
new directory (for example dump2077) and copy the stuff in there. This looks
like:
<pre>
/home/DMC> mkdir dump2077
/home/DMC> cp log/*.log dump2077
/home/DMC> cp core dump2077
/home/DMC> cp core.2077 dump2077
</pre>
The <tt>/home/DMC> </tt> is just the command prompt. Please note, that core
files are only available after crashes of the server. These few commands

View File

@ -4,8 +4,23 @@
</HEAD>
<BODY>
<H1>PSD-TRICS Count and Tricsscan Command</H1>
<h2>New Commands</h2>
<p>
As of 2005, the normal SICS scan command can be used for TRICS. There is
now a special command:
<pre>
scan2d
</pre>
which switches to PSD scan mode. Switching to single detector mode is
achieved through:
<pre>
scan1d
</pre>
H, k and l are now virtual motors in SICS and can be scanned normally.
</p>
<h2>Obsolete Commands</h2>
<P>
Two special commands have been defined for TRICS with a PSD:
Several 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
@ -45,6 +60,5 @@ documentation for <a href="hklscan.htm">hklscan</a>. Please note that
for a PSD HKL scan, all commans have to start with hklscan2d.
</dl>
</P>
</BODY>
</HTML>

70
doc/user/ubcalc.htm Normal file
View File

@ -0,0 +1,70 @@
<HTML>
<HEAD>
<TITLE>The Online UB Calculation Routine</TITLE>
</HEAD>
<BODY>
<H1>The Online UB Calculation Routine</H1>
<P>
This module allows to calculate the UB matrix from either two reflections and the
cell constants or standalone from three reflections. A little aid for
indexing is implemented too. As usual when dealing with calculations
the common rule: shit in, shit out holds true. In this case this
means that the quality of the UB matrix obtained increases when:
<ul>
<li>Reflections have been centered as accuratly as possible, i.e. with
slits closed and collimators in.
<li>Two theta has been calibrated against a standard beforehand.
<li> The crystal under investigation has been properly centered.
<li>Cell constants and wavelength are accurate.
</ul>
This module is for classic four circle diffraction only.
</P>
<p>
A range of commands allows for reflection and data input and
calculations. For the following discussion it is assumed that the UB
matrix calculation object has been configured into the system under
the name ubcalc.
<dl>
<dt>ubcalc ref1, ref2, ref3 h k l two_theta omega chi phi
<dd>Reflection input for up to three reflections. Miller indices must
be given. When angles are not given, the current position of motors
stt, om, chi, phi is read.
<dt>ubcalc cell a b c alpha beta gamma
<dd>Input of cell constants
<dt>ubcalc ub2ref
<dt>Calculate the UB matrix from ref1, ref2 and the cell constants.
<dt>ubcalc ub3ref
<dd>Calculate the UB matrix from the three reflections ref1, ref2 and
ref3.
<dt>ubcalc listub
<dd>Print the calculated UB matrix
<dt>ubcalc cellub
<dd>Caclulate and print the cell constants as calculated from the UB matrix.
<dt>ubcalc activate
<dd>Copies the UB matrix to the hkl module. The positions of new
reflections can then be calculated with hkl.
<dt>ubcalc index two_theta
<dd>Makes suggestions for possible miller indices matching
two_theta. If two_theta is omitted, the current value of two theta is
read from the motor stt. A brute force search through the space of
possible indices is undertaken using the cell constants given and the
wavelength from the hkl module. This routine is controlled by three
parameters within ubcalc:
<ul>
<li>difftheta, The maximum permissible difference in two_theta
<li>maxindex, The maximum value for miller indices in any direction.
<li>maxlist, The maximum number of suggestions to list.
</ul>
<dt>ubcalc difftheta, maxindex, maxlist value
<dd>Inquire or set the above parameters. For inquiry, give no value,
for setting the parameter give tha name and the value.
<dt>ubcalc list
<dd>Print all the data in ubcalc.
<dt>ubcalc listcell
<dd>Print the cell constants.
<dt>ubcalc listref1, listref2, listref2
<dd>Print reflections 1, 2 or 3
</dl>
</p>
</BODY>
</HTML>

View File

@ -29,6 +29,7 @@ Switzerland\\
\clearpage
\tableofcontents
\clearpage
\clearpage
\chapter{Introduction}
This is the master user manual for SICS. It gives an overview over all
@ -40,13 +41,14 @@ 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 sicsinvoc.htm 2
%html logging.htm 2
%html logbook.htm 3
%html commandlog.htm 3
%html batch.htm 2
%html macro.htm 3
%html exeman.htm 3
%html buffer.htm 3
%html token.htm 2
%html system.htm 2
@ -63,13 +65,12 @@ commands are listed here.
%html count.htm 2
%html histogram.htm 2
%html samenv.htm 2
%html ctrl.htm 2
%html ../manager/rs232.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
@ -85,8 +86,10 @@ commands are listed here.
%html amortof.htm 3
\section{TRICS Specific Commands}
%html hklscan.htm 3
%html trscan.htm 3
%html hklscan.htm 3
%html hkl.htm 3
%html ubcalc.htm 3
%html mesure.htm 3
%html nextrics.htm 3
%html peaksearch.htm 3

View File

@ -505,6 +505,23 @@ static int *calculateSum(HistInt *data, int iDet, int iTime)
}
return sum;
}
/*--------------------------------------------------------------------*/
static void checkSum(HistInt *sum, int iDet, char *name, SConnection *pCon){
int i, count;
char pBueffel[256];
for(i = 0, count = 0; i < iDet; i++){
if(sum[i] == 0){
count++;
}
}
if(count == iDet || count == 0){
return;
}
snprintf(pBueffel,255,"WARNING: %d of %d detectors in bank %s are empty",
count, iDet, name);
SCWrite(pCon,pBueffel,eWarning);
}
/*---------------------------------------------------------------------*/
static int putSum(SicsInterp *pSics, SConnection *pCon,
pNXScript nxscript, char *name, char *alias)
@ -546,6 +563,7 @@ static int putSum(SicsInterp *pSics, SConnection *pCon,
SCWrite(pCon,"ERROR: out of memory summing bank",eError);
return NX_ERROR;
}
checkSum(sum,iDet, name,pCon);
status = NXDputalias(nxscript->fileHandle,nxscript->dictHandle,
alias,sum);

View File

@ -571,11 +571,11 @@ int UBCalcWrapper(SConnection *pCon, SicsInterp *pSics, void *pData,
} else if(strcmp(argv[1],"listub") == 0){
listUB(pCon,self->UB);
return 1;
} else if(strcmp(argv[1],"calcub") == 0){
} else if(strcmp(argv[1],"ub2ref") == 0){
return calcUB(self,pCon);
} else if(strcmp(argv[1],"calcub3ref") == 0){
} else if(strcmp(argv[1],"ub3ref") == 0){
return calcUB3Ref(self,pCon);
} else if(strcmp(argv[1],"cellfromub") == 0){
} else if(strcmp(argv[1],"cellub") == 0){
return cellFromUBWrapper(self,pCon);
} else if(strcmp(argv[1],"listcell") == 0){
listCell(pCon,argv[0],self->direct);

View File

@ -280,7 +280,7 @@ MATRIX calcUBFromThreeReflections(reflection r1, reflection r2, reflection r3,
HIINV = mat_inv(HI);
if(HIINV == NULL){
*errCode = UBNOMEMORY;
*errCode = NOTRIGHTHANDED;
killVector(u1);
killVector(u2);
killVector(u3);