- Made AMOR write HDF-5 data in chunks - Added driver for a PSI-DSP magnet controller as used at SLS - Added code for directly accessing RS232 controllers connected to a terminal server, thereby bypassing the SerPortServer - A rounding problem in the PSD histogram memory was resolved.
246 lines
9.9 KiB
HTML
246 lines
9.9 KiB
HTML
<html>
|
|
<head>
|
|
<title> SICS Hardware Configuration</title>
|
|
</head>
|
|
<body>
|
|
|
|
<h2>SICS Hardware Configuration</h2>
|
|
<p>
|
|
Hardware is configured into the SICS system by executing special hardware
|
|
configuration commands from the server initialisation file. These commands
|
|
are described here. Much SICS hardware is hooked up to the system via RS-232
|
|
interfaces. The SICS server communicates with such devices through a serial
|
|
port server program running on a Macintosh PC. All such devices require on
|
|
initialisation the following parameters:
|
|
<ul>
|
|
<li><b>hostname</b> The name of the macintosh computer.
|
|
<li><b>port</b> The port number where the serial port server program is
|
|
listening for requests. It is given on the Macintosh screen when the serial
|
|
port server is running. It is usually 4000.
|
|
<li><b>channel</b> The number of the RS-232 interface on the Macintosh. 0 is
|
|
the standard Macintosh modem port, 1 is the standard Macintosh printer port,
|
|
2 is the first connector on the interface extension box. This leads to much
|
|
confusion which can be healed with a simple rule: If a device is connected
|
|
to the Macintosh serial port extension box, then its channel number is the
|
|
interface number on the box plus one.
|
|
</ul>
|
|
|
|
</p>
|
|
<h3> Motors</h3>
|
|
<p>
|
|
The following commands are available to install motors into the system:
|
|
<DL>
|
|
<DT> Motor name SIM lowlim uplim err speed
|
|
<DD> This command creates a simulated
|
|
motor with the lower limits lowlim, the upper limit uplim, an ratio of
|
|
randomly generated errors err and a driving speed of speed. Use this for
|
|
testing and instrument simulation. If err is less then 0, the motor will
|
|
not create failures and thus can be used in a instrument simulation server.
|
|
<DT>Motor name EL734 host port chan no
|
|
<DD>This command creates a stepper motor named name which is controlled through a
|
|
El734 motor controller. The
|
|
parameters host, port, chan have the meanings defined above. no is the
|
|
number of the motor in the EL734 motor controller.
|
|
<DT>Motor name EL734DC host port chan no
|
|
<DD>This command creates an analog motor named name which is controlled through a
|
|
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.
|
|
<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
|
|
initialization information. The follwoing elements are required in this
|
|
array:
|
|
<dl>
|
|
<dt>Computer, port, channel
|
|
<dd>The standard connection parameters.
|
|
<dt>upperlimit, lowerlimit
|
|
<dd>The limits for this motor.
|
|
<dt>motor
|
|
<dd>The number of the motor in the motor controller.
|
|
</dl>
|
|
<dt>Motor name pipiezo pararray
|
|
<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>
|
|
<p>
|
|
<DL>
|
|
<DT>MakeCounter name SIM failrate
|
|
<DD>This command creates a simulated single counter
|
|
accessible as object name. Failrate is the per centage of invocations
|
|
at which the counter will generate a random failure for testing error
|
|
treatment code. If failrate is less then 0, there are no
|
|
failures. This can be used in a instrument simulation server.
|
|
<DT>MakeCounter name EL737 host port chan
|
|
<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.
|
|
<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
|
|
over presets and the like. This command installs a virtual counter
|
|
which does exactly that. The parameters are:
|
|
<dl>
|
|
<dt>name
|
|
<dd>The name of the virtual counter in SICS
|
|
<dt>counter The name of the master counter
|
|
<dt>hm1, hm2, hm3
|
|
<dd>Up to three slave counting devices.
|
|
</dl>
|
|
</dl>
|
|
</p>
|
|
|
|
<h4>Histogram Memory</h4>
|
|
<p>
|
|
Due to the large amount of parameters, histogram memories are configured
|
|
differently. A histogram memory object is created using a special
|
|
creation command. This command is described below. Then a lot of options need to
|
|
be configured. The commands used for setting these options and their meanings
|
|
are defined in the <a href =
|
|
../user/histogram.htm> user </a> documentation because histogram memories
|
|
may be reconfigured at runtime. The sequence of configuartion options is
|
|
ended with the command hmname init. This last command actually initialises the
|
|
HM. Histogram memory objects can be created using the command:
|
|
<DL>
|
|
<DT> MakeHM name type
|
|
<DD> The parameter name specifies the name under which the HM will be
|
|
avialable in the system. type specifies which type of driver to use.
|
|
Currently two types of drivers are supported: SIM for a simulated HM and
|
|
SINQHM for the SINQ histogram memory. Please care to note, that the SINQHM
|
|
requires a EL737 counter box for count control. This counter must have been
|
|
defined before creating the HM object.
|
|
</DL>
|
|
As an example the configuration of a SINQHM HM with the name banana will be
|
|
shown:
|
|
<pre>
|
|
MakeHM banana SINQHM
|
|
banana configure HistMode Normal
|
|
banana configure OverFlowMode Ceil
|
|
banana configure Rank 1
|
|
banana configure Length 400
|
|
banana configure BinWidth 4
|
|
banana preset 100.
|
|
banana CountMode Timer
|
|
banana configure HMComputer psds04.psi.ch
|
|
banana configure HMPort 2400
|
|
banana configure Counter counter
|
|
banana init
|
|
</pre>
|
|
</p>
|
|
|
|
<h3>Velocity Selectors</h3>
|
|
<p>
|
|
A velocity selector is configured in a three step process. First a Tcl array
|
|
is filled with the necessary configuration options for the actual velocity
|
|
selector driver. In a second step the
|
|
velocity selector is created with a special command. In a third step the
|
|
forbidden regions for the velocity selector are defined. Currently two
|
|
drivers for velocity selctors are known: a SIM driver for a simulated
|
|
velocity selector and a DORNIER driver for a Dornier velocity selector
|
|
hooked to a SINQ serial port setup. The last one needs a parameter array
|
|
containing the fields Host, Port, Channel and Timeout. Host, Port and
|
|
Channel have the meanings as defined at the very top of this section.
|
|
Timeout is the maximum time to wait for responses from the velocity selector.
|
|
A large value is required as the dornier velocity selector is very slow.
|
|
The second step is performed through the following commands:
|
|
<DL>
|
|
<DT>VelocitySelector name tilt-motor SIM
|
|
<DD> This command installs a simulated velocity selector with the name name
|
|
into the system. tilt-motor is used for driving the tilt angle of the
|
|
selector. tilt-motor must exist before this command can be executed
|
|
successfully.
|
|
<DT>VelocitySelector name tilt-motor DORNIER arrayname
|
|
<DD> This command installs a dornier velocity selector into the system. name
|
|
and tilt-motor have the same meanings as described above. arrayname is the
|
|
Tcl-array with the driver configuration parameters.
|
|
</DL>
|
|
As an example the configuration of a dornier velocity selector named
|
|
nvs is shown:
|
|
<pre>
|
|
set dornen(Host) lnsp25.psi.ch
|
|
set dornen(Port) 4000
|
|
set dornen(Channel) 6
|
|
set dornen(Timeout) 5000
|
|
VelocitySelector nvs tilt DORNIER dornen
|
|
nvs add -20 28800
|
|
nvs add 3800 4500
|
|
nvs add 5900 6700
|
|
nvs add 8100 9600
|
|
</pre>
|
|
</p>
|
|
<h3>Chopper</h3>
|
|
<p>
|
|
Chopper systems are handled via a generic controller object. This basicly
|
|
consists of two components: One object represents the actual
|
|
controller. This basic object allows to query parameters only. Then
|
|
there is for each parameter which can be controlled from SICS in this
|
|
controller an adapter object. These adapter object are virtual motors
|
|
which can be driven with the normal run or drive commands. Currently
|
|
two drivers for this scheme exists: one for a simulated device, the
|
|
other for the Dornier Chopper Controller at FOCUS. The first step when
|
|
initializing this system is the installation of the general controller
|
|
object into SICS. This is done with the commands:
|
|
<pre>
|
|
MakeChopper name sim
|
|
MakeChopper name docho mac port channel
|
|
</pre>
|
|
The first command simply installs a simulated controller.
|
|
The second command install a controller with a driver for the FOCUS
|
|
Dornier Chopper system. Mac, port and channel are the usual Macintosh
|
|
terminal server parameters which describe where the chopper controller
|
|
is connected to through its RS-232 interface. After both commands the
|
|
controller is available as command name within SICS.
|
|
</p>
|
|
<p>
|
|
A drivable parameter at this controller is installed with a command
|
|
similar to this:
|
|
<pre>
|
|
ChopperAdapter vname cname pname lower upper
|
|
</pre>
|
|
vname is the name under which the virtual motor will appear in
|
|
SICS. cname is the name of the controller object installed into SICS
|
|
with the commands in the previous paragraph. pname is the name of the
|
|
drivable parameter in the controller. upper and lower are the upper
|
|
and lower limits for this parameter. More then one of these commands
|
|
can be given for each general controller.
|
|
</p>
|
|
<p>
|
|
After this, the parameter can be modified by a command like:
|
|
<pre>
|
|
drive vname newvalue
|
|
</pre>
|
|
</p>
|
|
<h3>RS232 Controller Direct Access</h3>
|
|
<p>
|
|
RS232 controllers connected to a terminal server can be directly accessed
|
|
by SICS through the TCP/IP network, bypassing the SerPortServer
|
|
program. See the <a href="rs232.htm">description</a> of this facility
|
|
for more details. Such a controller can be configured into the system
|
|
through the command:
|
|
<pre>
|
|
MakeRS232Controller name terminalserver port
|
|
</pre>
|
|
For example:
|
|
<pre>
|
|
MakeRS232Controller hugo psts213 3004
|
|
</pre>
|
|
name is the SICS name for the controller, terminalserver is the name
|
|
of the terminal server the device is connected to and port is the port
|
|
number at which the terminal server publishes the RS232 channel to
|
|
which the device is connected. This is usally the port number plus 3000.
|
|
</p>
|
|
<p>
|
|
To be expanded. Please note, that environment devices such as temperature
|
|
controllers are dynamically configured into the system at run time.
|
|
Therefore the necessary commands are described in the user documentation.
|
|
</p>
|
|
</body>
|
|
</html>
|
|
|
|
|
|
|