- Enhanced and debugged histogram memory for AMOR

* added PROJECT both in HM and driver code
  * added single detector support.
- Removed several bugs in the AMOR data bit.
- Updated documentation
This commit is contained in:
cvs
2001-08-17 14:33:05 +00:00
parent a538361516
commit db6c355f44
56 changed files with 4060 additions and 426 deletions

View File

@ -5,7 +5,8 @@
<BODY>
<H1>Aliases in SICS</H1>
<P>
SICS knows two different kinds of aliases: object aliases and command
SICS knows three different kinds of aliases: object aliases,
runtime aliases and command
aliases. This is confusing but finds its explanation in the structure
of SICS internals.
</P>
@ -22,7 +23,20 @@ command:
<DT>SicsAlias newname oldname
<DD>This command installs newname as alias for the object oldname.
</dl>
SicsAlias can only be used within initialization scripts.
SicsAlias can only be used within initialization scripts. SicsAlias is
considrered deprecated and can be replaced with the superior runtime
aliases described below.
</p>
<h2>Runtime Aliases</h2>
<p>
Runtime aliases are full object aliases which can be configured into the
system at run time by a SICS manager. The syntax looks like this:
<dl>
<dt>definealias SICSobject aliasname
<dd>This defines aliasname to be the alias for the SICS object SICSobject.
<dt>definealias aliasname
<dd>This command deltes the alias aliasname.
</dl>
</p>
<h2>Command Aliases</h2>
<p>

View File

@ -46,7 +46,6 @@ number of the motor in the EL734 motor controller.
El734DC motor controller. The
parameters host, port, chan have the meanings defined above. no is the
number of the motor in the EL734DC motor controller.
</DL>
<DT>MakePIMotor name c804 pararray
<DD>Creates a motr name connected to a C804 motor controller from the
manufacturer Physik Instrumente. Pararray is a Tcl array holding the
@ -64,6 +63,7 @@ number of the motor in the EL734DC motor controller.
<dd>Creates a piezo electric positioning device. Again the controller is a
Physik Instrumente controller. pararray has the same meaning as for the
C804 controller given above.
</DL>
</p>
<h3>Counting Devices</h3>
@ -79,7 +79,6 @@ failures. This can be used in a instrument simulation server.
<DD>This command creates a single
counter name, using an EL737 driver. The counter is at host host, listening
at port port and sits at serial port chan.
</DL>
<DT>MakeHMControl name counter hm1 hm2 hm3
<dd>At some instruments (for instance TRICS) multiple counters or
histogram memories are controlled by a master counter which watches

View File

@ -91,26 +91,48 @@ NeXus files.
</P>
<p>
<h2>User Defined Scans</h2>
In some cases users wish to exert more influence about the scan. Especially
about what gets counted. In order to cater for this a hook was implemented
in the internal scan command. This hook allows to run a tcl procedure at each
scan point. This Tcl procedure is required to return a string containing
up to 11 values for counters and monitors. The first value will be the one
used as counts in the data file. The others will be placed as monitors.
Please note, that only the first three monitors are written to file as of
current. In order to use this facility the following steps are required:
<p>
In some cases users wish to control the scan more closely, i.e. do
multiple counting operations at the same point etc. This is especially
true when magnets are involved. In order to do this a facility has
been provided which allows the user to specify a macro routine which
is called at each point. This macro routine then performs all
necessary operations and then is responsible for storing its data. In
order to this commands have been defined which allow to append a line
to the scan data file and to store measured data in the scan data
structure. The last feature is necessary in order to make scan status
displays and scan analysis, such as center detection, work. The
following steps are required:
<ol>
<li>Write The Tcl-macro procedure to run. Make sure that is creates proper
output.
<li>Test the Tcl-procedure in SICS.
<li>Install the Tcl-procedure into the scan object with the
xxscan command name syntax.
<li>Make the scan command use the Tcl procedure by setting channel to -10 with
the xxscan setchannel -10 command.
<li>Write a suitable macro procedure for the actions required at each
scan point. The procedure signature looks like this:
<pre>
proc myScanPoint {point} {
}
</pre> And will be called with the number of the current scan point as
a parameter. Besides all usual Tcl and SICS commands the following
special commands may be used:
<dl>
<dt>xxxscan line text
<dd>Appends all the text after line to the scan data file.
<dt>xxxscan storecounts c1 c2 c3 c4 ...
<dd>Stores the first number given as count data, all the others as
monitor values in the internal scan data structure.
</dl>
<li>Test the procedure.
<li>Switch the internal scan command command into user scan mode with
the command:
<b>xxxscan configure user</b>
<li>Assign your procedure to the internal scan command with the
command: <b>xxxscan command myScanPoint</b>
<li>Use normal scan commands for doing your scan.
<li>Switch the internal scan command into normal mode with the
command:
<B>xxxscan configure standard</b>.
</ol>
A hint: If you need to control the counting operation as well (because you
are not using a counter to count) just run the scan object with a very low
preset and do the counting yourself in your procedure.
In all this replace xxxscan with the name of the internal scan
command.
</p>
</BODY>
</HTML>

View File

@ -53,7 +53,6 @@ which is described elsewhere.
%html iscan.htm 2
%html alias.htm 2
%html cron.htm 2
%html client.htm 1
%html ../user/trouble.htm 1
%html move.htm 1
\end{document}

View File

@ -1,59 +1,59 @@
<HTML>
<HEAD>
<TITLE>Moving SICS</TITLE>
<TITLE>Replacing Hardware</TITLE>
</HEAD>
<BODY>
<H1>Moving SICS</H1>
<H2> Moving the SICS Server to a new Computer</h2>
<P>
Moving the SICS server from one computer to another involves quite a
few steps:
<OL>
<LI>Recreate the directory structure on the new computer.
<LI>Copy all necessary files across:
<ul>
<li> A copy of the SICServer.
<li> A copy of the instrument configuration file.
<li> All macro scripts used by this instrument.
<li> The DataNumber file.
<li> The necessary data file dictionary or header description files.
<li> The client programs.
</ul>
All necessary files should be available from backup or under the
/data/lnslib/sics/instrument tree on lnsa10.
<LI>Edit the instrument configuration file and make all pathnames reflect the
new directory structure. It should be enough to adapt the home variable at the
top, but better check. All paths references must be renewed if the directory
structure is changed from the one described <a href = "setup.htm">above</a>.
<LI>Edit the client scripts to reflect the new location of the server. Only the
box and logpath parameters should need to be changed.
<LI> Edit the DataNumber file and set the number above the last valid data file
number used. Otherwise the automatic numbering scheme
for data files gets messed up.
<LI>Test the new Installation!
</OL>
This requires the following steps:
<ol>
<li>Create a new local account on the host computer. There is a
prefabricated account with the credentials: INSTBCK/INSTBCKLNS on
lnsa15.
<li>Run <b>sicsinstall <tt>instrument</tt> </b> in the new instruemnt
account, thereby replacing instrument with the name of the instrument
you are moving.
<li>Create and edit a suitable DataNumber file for the instrument.
<li>Edit the instrument configuration files and adapt the path names
to match the new situation.
<li>Configure the histogram memory to boot from the new computer, se
histogram memory documsntation for instructions how to do that.
<li>Try to start and debug.
</ol>
</P>
<h2>Exchanging the Macintosh Serial Port Server</h2>
<p>In its current configuration at SINQ, SICS requires a Macintosh PC running a serial
port server program. Exchanging this Macintosh requires the following steps:
<OL>
<LI>Exchange the Macintosh physically. Plug everything as it was before the
exchange. Not every Macintosh can be used. Any other Macintosh from another
instrument or the spare Macintosh from the EDV-cabin will do. Other
Macintoshs require some serious screwing and software installation
procedures.
<LI>Edit the instrument configuration file and replace all references to the name of
the old Macintosh PC with the name of the new Macintosh PC.
<LI>Test it!
</OL>
If you do not plug the serial devices back onto the Macintosh as they were, you
need to adapt the channel numbers in the configuration file as well. The standard
plugging scheme for the serial port extension box on the Macintosh is like this:
<OL>
<LI>Motor Controller 1
<LI>Motor Controller 2
<LI>Counter Box
</OL>
<h2>Exchanging the Serial Port Server</h2>
<p>
<ol>
<li>Fetch a new one and make sure that all cables are plugged as
they were in the old one.
<li>Edit the startsics script to start the SerPortServer program with
the name of the new serial port server.
<li>Done!
</ol>
</p>
<h2>Exchanging the Histogram Memory</h2>
<p>
<ol>
<li>Get a new histogram memory computer from either Peter Rasmussen,
the test setup in WHGA/247 or in cases of greatest need, from SLS.
<li>Put into the rack.
<li>Configure the HM boot parameters through the console conneted to
the serial port belonging to the HM. Instructions for this can be
found in the histogram memory documentation.
<li>Include the new HM into the /etc/hosts file of the instrument
computer.
<li>Adapt the instrument configuration file to reflect the new name of
the HM.
<li>Start and debug.
</ol>
</p>
</BODY>
</HTML>

View File

@ -17,13 +17,14 @@ The following hardware is usually present for any SICs instrument:
</ul>
The terminal server software is provided by Lantronix, see the
appropriate manuals for the device for a description. The histogram
memories are 6800 VME onboard computers running the VXworks realtime
memories are 68000 VME onboard computers running the VXworks realtime
operating system and some home grown histogramming software documented
elsewhere.
</p>
<h2>Server programs</h2>
<p>
On the instrument computer the following software must run:
For proper operation of an instrument the following software components are
required:
<dl>
<dt>SerPortServer
<dd>This is a TCP/IP server which implements a special protocoll for
@ -40,8 +41,8 @@ software is Markus Zolliker.
instrument control program. Then the server starts a script which
synchronizes the local data directory with the central data storage on
the labarotory server. FileSync is configured through an
initilaization file usually called fs.ini. See the comments therein
for more information.
initialization file usually called fs.ini. See the comments in the
initialization file for more information.
<dt>SICServer
<dd>This is the actual instrument control server. The configuration of
this program is documented in this manual.

View File

@ -6,6 +6,41 @@
<h1>SICS Trouble Shooting </h1>
<hr size=4 width="66%">
<H2>Inspecting Log Files</h2>
<p>
Suppose something went wrong over the weekend or during the night and
you are not absolutely sure what the problem was. In such a case it is
helpful to look at the SICS log files. They live in the log directory
of the instrument account. For each day (or after each restart of the
SICS server) a new log file is created. They are named according to the
following convention:
<pre>
autoYYYY-mm-dd@hh-MM-ss.log
</pre>
with YYYY denoting the year, mm the month, dd the day, hh the hour of
creation, MM the minute of creation and ss the seconds of
creation. The most recent log file can be looked at with the
<b>sicstail</b> command. <b>sicstail num</b> shows the last num lines
of the log file. Within SICS and especially in the SICS command line
client, the last 1000 lines of the log are accessible through the
<b>commandlog tail num</b> command. The command log is also accessible
through the WWW at lns00. The log file is equipped with hourly time
stamps which allow to find out when exactly a problem began to
appear.
</p>
<p>
Quite often the inspection of the log files will indicate problems
which are not software related such as:
<ul>
<li>Communication problems (usually network)
<li>Positioning problems of motors.
<li>BAD_EMERG_STOP: the motor emergency stop was engaged. It must be
released before the motors move again.
<li>BAD_STP: a motor had been switched off.
</ul>
</p>
<h2>Restarting SICS</h2>
<hr size=4 width="66%">
<p>
There is no such thing as bug free software. There are always bugs, nasty
behaviour etc. This document shall help to solve these problems. The usual
@ -13,7 +48,7 @@ symptom will be that a client cannot connect to the server or the server is
not responding.
</p>
<p>
An essential prerequisite of SICS is that the server is up
An essential prerequisite of SICS is that the servers are up
and running. The system is configured to restart the SICServer whenever it
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
@ -21,10 +56,9 @@ typing:
<pre>
startsics
</pre>
at the command prompt. startsics actually starts two programs: one is
the replicator application which is responsible for the automatic
copying of data files to the laboratory server. The other is the SICS
server. Both programs are started by means of a shell script called
at the command prompt. startsics actually starts several programs, see
the Setup section for details. All programs are started by means of a
shell script called
<b>keepalive</b>. keepalive is basically an endless loop which calls
the program again and agaian and thus ensures that the program will
never stop running.
@ -142,12 +176,8 @@ If nothing seems to work any more, no connections can be obtained etc, then
the next guess is to restart everything. This is especially necessary if
mechanics or electronics people were closer to the instrument then 400 meters.
<OL>
<LI> Reboot the Macintosh PC by switching it off at the silver button on the
left. Press deep and a few seconds to achieve an effect. The LED right to the
button should be off, before you press again to boot the Macintosh.
<LI> Reboot the histogram memory. It has a tiny button labelled RST. That' s
the one. Can be operated with a hairpin, a ball point pen or the like.
<LI> Wait 5 minutes. The Macintosh may take that time to come up again.
<LI> Restart the SICServer. Watch for any messages about things not being
connected or configured.
<LI> Restart and reconnect the client programs.

View File

@ -25,7 +25,7 @@ last two digits of the year and an ending. All these components are
controlled by variables.
</p>
<p>
The exact syntax for creating variables lokks like this:
The exact syntax for creating variables looks like this:
<ul>
<li> <b> VarMake name type access </b> creates a simple variable name. The
variable type can be Text, Int or Float. The access parameter defines who