Initial revision
This commit is contained in:
605
doc/user/samenv.htm
Normal file
605
doc/user/samenv.htm
Normal file
@ -0,0 +1,605 @@
|
||||
<html>
|
||||
<head>
|
||||
<title> Sample Environment Devices </title>
|
||||
</head>
|
||||
<body>
|
||||
<h1> Sample Environment Devices</h1>
|
||||
<!latex-off>
|
||||
<p>
|
||||
From here you can jump to:
|
||||
<ul>
|
||||
<li>A discussion of SICS environment control <a href="#concept">
|
||||
concepts</a>.
|
||||
<li>A section about environment control <a href="#error">error</a> handling.
|
||||
<li>Commands for <a href="#general">monitoring and installing</a>
|
||||
environment control devices.
|
||||
<li>Commands understood by <a href="#all">ALL</a> environment control
|
||||
devices.
|
||||
<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 <a href="#el755">PSI-EL755</a> Magnet Controller.
|
||||
</ul>
|
||||
</p>
|
||||
<!latex-on>
|
||||
<p>
|
||||
<h2><a name="concept">SICS Concepts</a> for Sample Environment Devices</h2>
|
||||
<p>
|
||||
SICS can support any type of sample environment control device if there is a
|
||||
driver for it. This includes temperature controllers, magnetic field controllers
|
||||
etc. The SICS server is meant to be left running continously. Therefore there
|
||||
exists a facility for dynamically configuring and deconfiguring environment
|
||||
devices into the system. This is done via the <b>EVFactory</b> command.
|
||||
It is expected that instrument scientists will provide command procedures or
|
||||
specialised Rünbuffers for configuring environment devices and setting
|
||||
reasonable default parameters. </p>
|
||||
<p>
|
||||
In the SICS model
|
||||
a sample environment device has in principle two modes of operation. The first
|
||||
is the drive modus. The device is monitored in this modus when a new value for it
|
||||
has been requested. The second modus is the monitor modus. This modus is entered
|
||||
when the device has reached its target value. After that, the device must be
|
||||
continously monitored throughout any measurement. This is done through the
|
||||
environment monitor or <b>emon</b>. The emon understands a few commands of its
|
||||
own.
|
||||
</p>
|
||||
<p>
|
||||
Within SICS all sample environement devices share some common behaviour
|
||||
concerning parameters and abilities. Thus any given environment device
|
||||
accepts all of a set of general commands plus some additional commands
|
||||
special to the device.
|
||||
</p>
|
||||
<p>
|
||||
In the next section the EVFactory, emon and the general commands understood
|
||||
by any sample environment device will be discussed. This reading is mandatory
|
||||
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>
|
||||
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
|
||||
handling are quite differntiated. The SICS model therefore implements several
|
||||
strategies for handling sample environment device failure handling.
|
||||
The strategy to use is selected via variable which can be set by the user for
|
||||
any sample environment device separatetly. Additional error handling strategies
|
||||
can be added with a modest amount of programming. The error handling strategies currently
|
||||
implemented are:
|
||||
<DL>
|
||||
<DT>Lazy
|
||||
<DD>Just print a warning and continue.
|
||||
<DT>Pause
|
||||
<DD>Pauses the measurement until the problem has been resolved.
|
||||
<DT>Interrupt
|
||||
<DD>Issues a SICS interrupt to the system.
|
||||
<DT>Safe
|
||||
<DD> Tries to run the environment device to a value considered safe by the
|
||||
user.
|
||||
</DL>
|
||||
</p>
|
||||
|
||||
<h2><a name="general">General</a> Sample Environment Commands</h2>
|
||||
<h3>EVFactory</h3>
|
||||
<p>
|
||||
EVFactory is responsible for configuring and deconfiguring sample environment
|
||||
devices into SICS. The syntax is simple:
|
||||
<DL>
|
||||
<DT>EVFactory new name type par par ...
|
||||
<DD>Creates a new sample environment device. It will be known to SICS by the
|
||||
name specified as second parameter. The type parameter decides which driver to
|
||||
use for this device. The type will be followed by additional parameters
|
||||
which will be evaluated by the driver requested.
|
||||
<DT>EVFactory del name
|
||||
<DD>Deletes the environment device name from the system.
|
||||
</DL>
|
||||
</p>
|
||||
<h3>emon</h3>
|
||||
<p>
|
||||
The environment monitor emon takes for the monitoring of an environment device
|
||||
during measurements. It also initiates error handling when appropriate. The emon
|
||||
understands a couple of commands.
|
||||
<DL>
|
||||
<DT>emon list
|
||||
<DD>This command lists all environment devices currently registered in the
|
||||
system.
|
||||
<DT>emon register name
|
||||
<DD> This is a specialist command which registers the environment device name
|
||||
with the environment monitor. Usually this will automatically be taken care
|
||||
of by EVFactory.
|
||||
<DT>emon unregister name
|
||||
<DD> This is a specialist command which unregisters the environment device name
|
||||
with the environment monitor. Usually this will automatically be taken care
|
||||
of by EVFactory Following this call the device will no longer be monitored and
|
||||
out of tolerance errors on that device no longer be handled.
|
||||
</DL>
|
||||
</p>
|
||||
<h3><a name="all">General</a>
|
||||
Commands UnderStood by All Sample Environment Devices</h3>
|
||||
<p>
|
||||
Please note that each command discussed below MUST be prepended with the name
|
||||
of the environment device as configured in EVFavtory!
|
||||
</p>
|
||||
<p>
|
||||
The general commands understood by any environment controller can be subdivided
|
||||
further into parameter commands and real commands. The parameter commands just
|
||||
print the name of the parameter if given without an extra parameter or
|
||||
set if a parameter is specified. For example:
|
||||
<BLOCKQUOTE>
|
||||
Temperature Tolerance
|
||||
</BLOCKQUOTE>
|
||||
prints the value of the variable Tolerance for the environment controller
|
||||
Temperature.
|
||||
<BLOCKQUOTE>
|
||||
Temperature Tolerance 2.0
|
||||
</BLOCKQUOTE>
|
||||
sets the parameter Tolerance for Temperature to 2.0. Parameters known to ANY
|
||||
envrironment controller are:
|
||||
<DL>
|
||||
<DT>Tolerance
|
||||
<DD>Is the deviation from the preset value which can be tolerated before an
|
||||
error is issued.
|
||||
<DT> Access
|
||||
<DD>Determines who may change parameters for this controller.
|
||||
Possible values are:
|
||||
<UL>
|
||||
<LI>0 only internal
|
||||
<LI> 1 only Managers
|
||||
<LI> 2 Managers and Users.
|
||||
<LI> 3 Everybody, including Spy.
|
||||
</UL>
|
||||
<DT>LowerLimit
|
||||
<DD> The lower limit for the controller.
|
||||
<DT>UpperLimit
|
||||
<DD> The upper limit for the controller.
|
||||
<DT>ErrHandler.
|
||||
<DD> The error handler to use for this controller. Possible values:
|
||||
<UL>
|
||||
<LI>0 is Lazy.
|
||||
<LI>1 for Pause.
|
||||
<LI> 2 for Interrupt
|
||||
<LI> 3 for Safe.
|
||||
</UL> For an explanantion of these values see the section about <a
|
||||
href="#error">error</a> handling
|
||||
above.
|
||||
<DT> Interrupt
|
||||
<DD> The interrupt to issue when an error is detected and Interrupt error
|
||||
handling is set. Valid values are:
|
||||
<UL>
|
||||
<LI> 0 for Continue.
|
||||
<LI> 1 for abort operation.
|
||||
<LI> 2 for abort scan.
|
||||
<LI> 3 for abort batch processing.
|
||||
<LI> 4 halt system.
|
||||
<LI> 5 exit server.
|
||||
</UL>
|
||||
<DT>SafeValue
|
||||
<DD> The value to drive the controller to when an error has been detected and
|
||||
Safe error handling is set.
|
||||
</DL>
|
||||
</p>
|
||||
<P>
|
||||
Additionally the following commands are understood:
|
||||
<DL>
|
||||
<DT>send par par ...
|
||||
<DD>Sends everything after send directly to the controller and return its
|
||||
response. This is a general purpose command which allows to manipulate controllers
|
||||
and controller parameters directly. The protocoll for these commands is
|
||||
documented in the documentation for each controller. Ordinary users should
|
||||
not tamper with this. This facility is meant for setting up the device with
|
||||
calibrartion tables etc.
|
||||
<DT> list
|
||||
<DD> lists all the parameters for this controller.
|
||||
<DT> no command, only name.
|
||||
<DD> When only the name of the device is typed it will return its
|
||||
current value.
|
||||
<DT> name val
|
||||
<DD> will drive the device to the new value val. Please note that the same
|
||||
can be achieved by using the drive command.
|
||||
<DT> name log on
|
||||
<DD> Switches logging on. If logging is on, at each cycle in the emon the
|
||||
current value of the environment variable will be recorded together with a
|
||||
time stamp. Be careful about this, for each log point a bit of memory is
|
||||
allocated. At some time the memory is exhausted! Log clear frees it again
|
||||
and log frequency (both below) allows to set the logging time intervall.
|
||||
<DT> name log off
|
||||
<DD>Switches logging off.
|
||||
<DT>name log clear
|
||||
<DD> Clears all recorded time stamps and values.
|
||||
<DT>name log gettime
|
||||
<DD>This command retrieves a list of all recorded time stamps.
|
||||
<DT>name log getval
|
||||
<DD> This command retrieves all recorded values.
|
||||
<DT>name log getmean
|
||||
<DD>Calculates the mean value and the standard deviation for all logged
|
||||
values and prints it.
|
||||
<DT>name log frequency val
|
||||
<DD> With a parameter sets, without a parameter requests the logging intervall
|
||||
for the log created. This parameter specifies the time intervall in seconds
|
||||
between log records. The default is 5 minutes. A value of 0 means a record any
|
||||
cycle of the SICServer.
|
||||
<DT>name log file filename
|
||||
<DD> Starts logging of value data to the file filename. All normal logging to
|
||||
memory will be
|
||||
disabled. Logging will happen any 5 minutes initially. The logging frequency
|
||||
can be changed with the name log frequency command. Each entry in the file is
|
||||
of the form date time value. The name of the file must be specified relative
|
||||
to the SICS server.
|
||||
<DT>name log close
|
||||
<DD> Stops logging data to the file.
|
||||
</DL>
|
||||
</P>
|
||||
|
||||
<h2>Special Environment Control Devices</h2>
|
||||
<p>
|
||||
This section lists the parameters needed for configuring a special environment
|
||||
device into the system and special parameters and commands only understood by
|
||||
that special device. All of the general commands listed above work as well!
|
||||
</p>
|
||||
<h3><a name="itc4">ITC-4</a> and ITC-503 Temperature Controllers</h3>
|
||||
<p>
|
||||
These temperature controller are fairly popular at SINQ. It is manufactured by
|
||||
Oxford Instruments. At the back side of this controller there 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.
|
||||
</p>
|
||||
<h4>ITC-4 Initialisation</h4>
|
||||
<p>
|
||||
An ITC-4 can be configured into the system by:
|
||||
<BLOCKQUOTE>
|
||||
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:
|
||||
<BLOCKQUOTE>
|
||||
EVFactory new Temp ITC4 lnsp22.psi.ch 4000 6
|
||||
</BLOCKQUOTE>
|
||||
connects Temp to the Macintosh named lnsp22, serial port 5 (6 above is no typo!),
|
||||
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
|
||||
responses from the ITC-4. Increase this parameter if error messages
|
||||
containg ?TMO creeping up.
|
||||
<DT> sensor
|
||||
<DD> Sets the sensor number to be used for reading temperature.
|
||||
<DT> control
|
||||
<DD> Sets the control sensor for the ITC-4. This sensor will be used
|
||||
internally for regulating the ITC-4.
|
||||
<DT>divisor
|
||||
<DD>The ITC4 does not understand floating point numbers, the ITC-503 does.
|
||||
In order to make ITC4's read and write temperatures correctly floating point
|
||||
values must be multiplied or divided with a magnitude of 10. This parameter
|
||||
determines the appropriate value for the sensor. Is usually 10 for a sensor
|
||||
with one value behind the comma or 100 for a sensor with two values after
|
||||
the comma.
|
||||
<DT>multiplicator
|
||||
<DD>The same meaning as the divisor above, but for the control sensor.
|
||||
</DL>
|
||||
<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
|
||||
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.
|
||||
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.
|
||||
<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.
|
||||
<li>Figure out, which sensor will be used for controlling the ITC4. Set the
|
||||
parameters control and multiplicator accordingly. Can be the same as the
|
||||
sensor.
|
||||
<li>Think up an agreeable temperature tolerance for your measurement. This
|
||||
tolerance value will be used 1) to figure out when the ITC4 has reached its
|
||||
target position. 2) when the ITC4 will throw an error if the ITC4 fails to
|
||||
keep within that tolerance. Set the tolerance parameter according to the
|
||||
results of your thinking.
|
||||
<li>Select one of the numerous error handling strategies the control
|
||||
software is able to perform. Configure the device accordingly.
|
||||
<li> Test your setting by trying to read the current temperature.
|
||||
<li> If this goes well try to drive to a temperature not to far from the
|
||||
current one.
|
||||
</ol>
|
||||
</p>
|
||||
<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
|
||||
this. The not responding may also come up as a failure to connect to the ITC-4
|
||||
during startup.
|
||||
</p>
|
||||
<p> If error messages containing the string <b>?TMO</b> keep creeping up followed
|
||||
by all signs of command not understood, then increase the timeout. The standard
|
||||
timeout of 10 microseconds is to short at times.
|
||||
</p>
|
||||
<p>
|
||||
You keep on reading <b>wrong values</b> from the ITC4. Mostly off by a
|
||||
factor 10. Then set the divisor correctly. Or you may need to choose a
|
||||
decent sensor for that readout.
|
||||
</p>
|
||||
<p>
|
||||
Error messages when <b>trying to drive the ITC4</b>. These are usually the
|
||||
result of a badly set multiplicator parameter for the control sensor.
|
||||
</p>
|
||||
<p>
|
||||
The ITC4 <b>never stops driving</b>. There are at least four possible
|
||||
causes for this problem:
|
||||
<ol>
|
||||
<li>The multiplicator for the control sensor was wrong and the ITC4 has now
|
||||
a set value which is different from your wishes. You should have got error
|
||||
messages then as you tried to start the ITC4.
|
||||
<li>The software is reading back wrong temperature because the sensor and
|
||||
divisor parameters are badly configured. Try to read the temperature and if
|
||||
it does have nothing to do with reality, set parameters accordingly.
|
||||
<li>The tolerance parameter is configured so low, that the ITC4 never
|
||||
manages to stay in that range. Can also be caused by inappropriate PID
|
||||
parameters in the ITC4.
|
||||
<li>
|
||||
You are reading on one sensor (may be 3) and controlling on another one (may
|
||||
be 2). Then it may happen that the ITC 4 happily thinks that he has reached
|
||||
the temperature because its control sensor shows the value you entered as
|
||||
set value. But read sensor 3 still thinks he is far off. The solution is to
|
||||
drive to a set value which is low enough to make the read sensor think it is
|
||||
within the tolerance. That is the temperature value you wanted after all.
|
||||
</ol>
|
||||
</p>
|
||||
<h3><a name="haake">Haake</a> Waterbath Thermostat</h3>
|
||||
<p>
|
||||
This is sort of a buck 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
|
||||
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.
|
||||
Installing the
|
||||
Haake into SICS requires two steps: first create an array with
|
||||
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-o-array macintosh-computer 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>
|
||||
evfactory new temperature tcl eimer
|
||||
</BLOCKQUOTE>
|
||||
Following this, the thermostat can be controlled with the other environment
|
||||
control commands.
|
||||
</p>
|
||||
<p>
|
||||
The Haake Thermostat understands a single special subcommand: <b>sensor</b>.
|
||||
The thermostat may be equipped with an external sensor for controlling and
|
||||
reading. The subcommand sensor allows to switch between the two. The exact
|
||||
syntax is:
|
||||
<BLOCKQUOTE>
|
||||
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
|
||||
box the size of a chest of drawers. This controller can be operated in one
|
||||
out of two modes: in <b>field</b> mode the current for the magnet is controlled via
|
||||
an external hall sensor at the magnet. In <b>current</b> mode, the output current
|
||||
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
|
||||
</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
|
||||
connected. For example (at SANS):
|
||||
<pre>
|
||||
evfactory new magnet bruker lnsp25.psi.ch 4000 9
|
||||
</pre>
|
||||
</p>
|
||||
<p>
|
||||
creates a new command magnet for a Bruker magnet Controller connected to
|
||||
serial port 9 at lnsp25.
|
||||
</p>
|
||||
In addition to the standard environment controller commands this magnet
|
||||
controller understands the following special commands:
|
||||
<DL>
|
||||
<DT>magnet polarity
|
||||
<DD> Prints the current polarity setting of the controller. Possible
|
||||
answers are plus, minus and busy. The latter indicates that the controller
|
||||
is in the process of switching polarity after a command had been given to
|
||||
switch it.
|
||||
<DT>magnet polarity val
|
||||
<DD>sets a new polarity for the controller. Possible values for val are
|
||||
<b>minus</b> or <b>plus</b>. The meaning is self explaining.
|
||||
<DT>magnet mode
|
||||
<DD> Prints the current control mode of the controller. Possible
|
||||
answers are <b>field</b> for control via hall sensor or <b>current</b> for
|
||||
current control.
|
||||
<DT>magnet mode val
|
||||
<DD>sets a new control mode for the controller. Possible values for val are
|
||||
<b>field</b> or <b>current</b>. The meaning is explained above.
|
||||
<DT>magnet field
|
||||
<DD>reads the magnets hall sensor independent of the control mode.
|
||||
<DT>magnet current
|
||||
<DD>reads the magnets output current independent of the control mode.
|
||||
</DL>
|
||||
<p>
|
||||
<big>Warning:</big> There is a gotcha with this. If you type only magnet a
|
||||
value will be returned. The meaning of this value is dependent on the
|
||||
selected control mode. In current mode it is a current, in field mode it is
|
||||
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> allows to query the current sensor used for temperature readout.
|
||||
<dt>temperature sensor val
|
||||
<dd> allows to select the sensor val for temperature readout.
|
||||
<dt>temperature controlanalog
|
||||
<dd> allows to query the sensor used for controlling the analog channel.
|
||||
<dt>temperature controlanalog val
|
||||
<dd> allows to select the sensor val for controlling the analog channel.
|
||||
<dt>temperature controlheat
|
||||
<dd> allows to query the sensor used for controlling the heater channel.
|
||||
<dt>temperature controlheat val
|
||||
<dd> allows to select the sensor val for controlling the heater channel.
|
||||
<dt>temperature mode
|
||||
<DD>Allows to query if the LTC-11 controls the analog or heater channel.
|
||||
</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.
|
||||
This and probably other Eurotherm controllers can be configured into SICS
|
||||
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
|
||||
</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
|
||||
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
|
||||
configured like this! Thus, an example for SANS and the name temperature
|
||||
looks like:
|
||||
<pre>
|
||||
evfactory new temperature euro lnsp25.psi.ch 4000 13
|
||||
</pre>
|
||||
</p>
|
||||
<p>
|
||||
There are two further gotchas with this thing:
|
||||
<ul>
|
||||
<li>The eurotherm needs to operate in the EI-bisynch protocoll mode. This has
|
||||
to be configured manually. For details see the manual coming with the machine.
|
||||
<li>The weird protocoll spoken by the Eurotherm requires very special control
|
||||
characters. Therefore the send functionality usually supported by a SICS
|
||||
environment controller could not be implemented.
|
||||
</ul>
|
||||
</p>
|
||||
<h3><a name="el755">The PSI-EL755 Magnet Controller</a></h3>
|
||||
<p>
|
||||
This is magnet controller developed by the electronics group at
|
||||
PSI. It consists of a controller which interfaces to a couple of power
|
||||
supplies. The magnets are then connected to the power supplies. The
|
||||
magnetic field is not controlled directly but just the power output of
|
||||
the power supply. Also the actual output of the power supply is NOT
|
||||
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
|
||||
</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
|
||||
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
|
||||
</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
|
||||
special commands are supported for the EL755.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user