Sample environments

Sample table

One standard sample set-up is the sample table with a vertical translator, a xy-table and a rotation table. Optionally, another linear translator stage or a double goniometer can be mounted on the rotation table. The available motor axes for the sample table are defined as follows:

saz

vertical translation of the sample table

say

horizontal translation parallel to the neutron beam direction

sax

horizontal translation perpendicular to the neutron beam

som

rotation around the vertical axis ω

gphi

rotation around the horizontal axis Φ

gtheta

rotation around the horizontal axis Θ, Θ ⊥ Φ ⊥ ω

sposi

horizontal translation. Linear translation stage can be mounted on the rotation table and is used for the movement of the temperature controlled (Haake temperature controler, the Section called Haake temperature controller) sample holder.

The motors can be driven by the drive or run commands described in the Section called SICS motor handling. Instead of driving the motors individually one can refer to all motors as a whole by the st command. The command st without parameters will yield a listing of the current positions of the sample table motors:

						
st 
Status listing for st 
st.omega = 0.504000 
st.x = 12.965000 
st.y = -18.992001 
st.z = 106.121002 
st.posi = 173.875000
				
					
The axes are named x, y, z, posi, omega, phi and theta which move the motors sax, say, saz, spos, som, gphi and gtheta, respectively. In the above example the optional linear translator stage was mounted on the rotation table so that the position of the motor spos is listed but not those of the motors gphi and gtheta. The whole set of parameters valid for the st command are described in the Section called Special SANS commands about special SANS commands. A frequently used parameter for st is the pos parameter. The command

						
st pos P1 
				
					
reads out the actual positions of all the motors of the sample table and defines for it the name P1. Afterwards this position can be reached by typing simply st P1. Instead of remembering the positions of all the motors one only has to remember the name P1 to bring the sample in position.

Haake temperature controller

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:


						
inihaakearray <name-of-array> <macintosh-computer> <name> <port> <channel> 
evfactory new temperature tcl <name-of-array> 
				
					
An example for the SANS:

						
inihaakearray eimer lnsa10.psi.ch 4000 1 
evfactory new temperature tcl eimer 
				
					
Following this, the thermostat can be controlled with the other environment control commands.

The Haake Thermostat understands a single special subcommand: sensor. 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:


						
temperature sensor <val>
				
					
<val> can be either intern or extern.

Bruker electromagnet

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 field mode the current for the magnet is controlled via an external hall sensor at the magnet. In current mode, the output current of the device is controlled. This magnet can be configured into SICS with a command syntax like this:


						
evfactory new <name> bruker <Mac-PC> <Mac-port> <Mac-channel> 
				
					
<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):

						
evfactory new magnet bruker lnsa10.psi.ch 4000 9
				
					
creates a new command magnet for a Bruker magnet Controller connected to serial port 9 at lnsa10.

In addition to the standard environment controller commands this magnet controller understands the following special commands:

magnet polarity

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.

magnet polarity <val>

sets a new polarity for the controller. Possible values for <val> are minus or plus. The meaning is self explaining.

magnet mode

Prints the current control mode of the controller. Possible answers are field for control via hall sensor or current for current control.

magnet mode <val>

sets a new control mode for the controller. Possible values for <val> are field or current. The meaning is explained above.

magnet field

reads the magnets hall sensor independent of the control mode.

magnet current

reads the magnets output current independent of the control mode.

WarningWarning
 

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.

Sample holder for electro magnet

Another standard sample seup is a vacuum chamber, which is directly connected to the collimator and detector tubes, so that the SANS can be operated at about 10-2 mbar in a single vacuum without windows or with thin aluminium or sapphire windows to work at ambient pressure or at vacuum conditions down to 10-6 mbar. The chamber is large enough to carry an electromagnet. For this setup a sample changer with an optional heated sample position is available. This sample changer can be moved vertically by 245 mm and can also be rotated by ±10 degree. The two available motors are defined as follows:

mz

moves the electromagnet sample holder in vertical direction.

mom

rotates the sample around the vertical axis ω by ±10 degree.

The motors can be driven by the run or drive command described in the Section called SICS motor handling. Instead of driving the motors individually one can refer to both motors as a whole by the msh command. The command msh without parameters will yield a listing of the current position of the electromagnet sample holder:

						
msh 
Status listing for msh 
msh.z = 0.000000 
msh.omega = 0.000000
				
					
The axes of the sample holder mz and mom are named in the msh command z and omega. The whole set of parameters valid for the msh command are described in the Section called Special SANS commands about special SANS commands.

Eurotherm temperature controller

At SANS there is a Eurotherm temperature controller for the sample heater available. 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.


						
EVFactory new <name> euro <computer> <port> <channel>
				
					
<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. computer is the name of the Macintosh PC to which the controller has been connected, <port> is the port number at which the Macintosh-PC's serial port server listens. <channel> is the RS-232 channel to which the controller has been connected.

WarningWarning
 

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:


						
EVFactory new temperature euro lnsa10.psi.ch 4000 13
				
					

There are two further gotchas with this thing:

ITC-4 and ITC-503 temperature controller

*outdated controllers, will be replaced*