- 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:
@ -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>
|
||||
|
@ -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
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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}
|
||||
|
@ -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>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user