# Design of the Control and Data Acquisition System of the Neutron Spin Echo Spectrometer at the Spallation Neutron Source

H. Kleines, M. Butzek, M. Drochner, P. Kaemmerling, T. Kozielewski, M.
Monkenbusch, M. Ohl, F. Suxdorf, M.Wagener, Forschungszentrum Jülich,
Jülich, Germany

Abstract

The Jülich Centre for Neutron Science (JCNS) is constructing a new
"best-of-its-class" Neutron Spin Echo Spectrometer (NSE) at the
Spallation Neutron Source (SNS) in Oak Ridge. Recently, JCNS implemented
a NSE at its branch lab at the FRM-II reactor in Garching with a control
and data acquisition system based on the so-called "Jülich-Munich
Standard". The "Jülich-Munich Standard" is a set of standards and
technologies commonly accepted at the FRM-II which is based on the TACO
control system developed by the ESRF. The same approach shall be used
for the NSE at the SNS, since many components and structures are common
for both instruments. On the other hand local SNS standards have to be
supported, leading to additional requirements for the control and data
acquisition system.

## Introduction

In order to further strengthen its neutron research, Forschungszentrum
Jülich founded the JCNS (Jülich Center of Neutron Science) on its own
campus with branch labs at the ILL in Grenoble, at the Spallation
Neutron Source (SNS) in Oak Ridge National Lab (ORNL) and at the FRM-II
(Forschungsreaktor München II), the new high flux neutron source
operated by the Technical University of Munich (TUM) in Garching near
Munich. At the SNS, JCNS is constructing a new Neutron Spin Echo
Spectrometer (NSE), which will start commissioning in autumn 2008. This
SNS-NSE will be "best-of-its-class" with regard to energy resolution and
dynamic range. Using superconducting precession coils will allow for a
stray field compensated main precession fields with unprecedented field
integral up to 1.5 Tm \[1\].

Recently, JCNS implemented a NSE at its branch lab at the FRM-II. This
so-called J-NSE is in its commissioning phase now and its control and
data acquisition system is based on the so-called "Jülich-Munich
Standard". The "Jülich-Munich Standard" is a joint effort of ZEL
(Central Institute for Electronics of Forschungszentrum Jülich) and TUM
to define a common framework for the electronics and software of neutron
instruments that is followed by most instruments at the FRM-II \[2\]. It
is based on the TACO control system developed by the ESRF and the
extensive use of industrial type front-end equipment, e.g. PLCs,
fieldbus systems or remote I/Os. Since there are many components and
structures that are common for both instruments, and since ZEL is
responsible for the control and data acquisition systems of both
instruments, the same technologies shall be used for the SNS-NSE. On the
other hand local SNS standards have to be supported, since the SNS-NSE
shall fit into the DAQ-infrastructure of the SNS, e.g. regarding data
formats, interface to the timing system or the ability to include local
sample environments.

## OvervIEw of thE NSE at the SNS

Neutron spin echo spectrometers offer the highest energy resolution of
all neutron instruments and are especially well suited for the
investigation of polymer dynamics. The spin echo technique is a time of
flight method that codes small individual neutron velocity changes into
polarisation differences. Polarised neutrons pass two precession coils
with identical magnetic field. Between the precession coils they are
scattered at the sample and undergo an effective time reversal by a
π-flipper. Without velocity change the precession angle of a neutron
will be unchanged when exiting the second precession coil. If neutrons
experience a velocity change by scattering, the velocity change is coded
into a change of the precession angle. Only neutrons of one polarization
direction pass an analyzer before a two-dimensional detector \[3\].

Conceptionally, the NSE instrument can be subdivided into the primary
and the secondary spectrometer. The primary spectrometer includes the
neutron guide system with removable segments allowing the adjustment of
the moderator-detector distance between 18m and 27m. A cascade of 4
choppers separates neutron frames, which come from the pulsed source.
For different neutron wave lengths polarizing benders in the neutron
guide can be exchanged by a revolver system. The whole neutron guide
system is evacuated.

![](media/image1.png){width="3.240972222222222in"
height="1.3645833333333333in"}

Figure 1: NSE secondary spectrometer; detector is on the left side.

Fig. 1 shows the secondary spectrometer. Main components are the two
main precession coils, which have to be superconducting in order to
achieve the high magnetic field integral required by the desired
resolution. Additionally, 32 auxiliary coils are required, e.g. in order
to change the polarization direction or to correct field
inhomogeneities. The correction coils are mounted on hexapod systems
allowing automatic positioning. The sample stage sits in the middle
between the precession coils. Samples can be rotated and lifted. For the
positioning of the detector to different scattering angles the whole
second spectrometer arm with the detector is turnable around the sample
stage centre point. Movement of the whole secondary spectrometer in
neutron guide direction allows different moderator-detector distances.

Main control tasks are related to the mechanical movements, the remote
control of the power supplies for the coils, the vacuum system, the
cooling system for the superconducting coils and the support of a
variety of controllers (temperature, pressure, ....) for the sample
environment. The detector manufactured by DENEX is a two dimensional
multi-wire proportional chamber with delay line readout. Data
acquisition is responsible for the readout of the detector and several
^3^He counting tubes for beam monitoring. Since the SNS is a pulsed
source, the detector data and the monitor counters must be
time-resolved. Also the choppers and several rampable power supplies
have to be synchronized with the SNS pulse.

## The "Jülich-MUNICH STANDARD"

The "Jülich-Munich standard" is a framework for the selection of
technologies and components at each level of the control system. The
definition of this framework was motivated by synergy effects and the
reduction of spare parts on the shelf. A guiding principle for the
framework was to minimize the development efforts and to acquire as much
from the market as possible. A key component of the framework is the
consistent use of industrial technologies like PLCs, fieldbus systems or
decentral periphery in the front end. Main motivations are:

-   low prices induced by mass market,

-   inherent robustness

-   long term availability and support from manufacturer

-   powerful development tools

A control system according to the Jülich-Munich Standard is organized
hierarchically into the following levels:

**Field level:** The field level is the lowest level, at which devices
that are not freely programmable reside, like motor controllers, SSI
controllers, PID controllers, analogue and digital I/O modules, or
measurement equipment. For all industrial type of I/O modules PROFIBUS
DP based decentral periphery is recommend. Siemens ET200S is the
preferred one. JCNS predominantly use the stepper motor controller 1STEP
from Siemens.

**Control level:** The control level resides on top of the process
level. Devices at the control level are freely programmable. They must
meet real time requirements and guarantee robust operation in a harsh
environment. At the control level Siemens S7 PLCs, mainly from the
S7-300 family, are used, because they dominate the European market.

**Process communication:** Process communication covers the
communication of devices at the field and control level with supervisory
controllers or computers. For lab equipment GPIB and proprietary
RS232/RS485 connections are unavoidable. For industrial automation
equipment PROFIBUS DP is the recommended choice. It is the dominating
fieldbus in Europe and is naturally supported by S7 PLCs and many other
devices. A major reason for its success is the technological and
functional scalability based on a common core as well as the programming
model, which easily maps to PLC operation.

**Experiment Computer:** For economical reasons, all experiment
computers should be PCs. Linux, being well established in the scientific
community, is the only supported operating system. There is no
definition of a specific kernel version or distribution. Direct device
access should not be implemented on conventional PCs but on CompactPCI
systems. CompactPCI allows deploying a variety of existing software in a
mechanically more robust platform that fits into 19" racks.

**Middleware:** Since the framework aims at an inherently distributed
system, software support for the transparent distribution of services
between systems is required. For this purpose TACO has been selected as
the middleware system. TACO is a client-server framework developed for
beam line control at the ESRF in Grenoble. In a TACO environment each
device or hardware module is controlled by a TACO server. The server
offers a set of device-specific functions, which can be accessed by TACO
clients via a RPC-based mechanism over a TCP/IP network. To make its
functions available to clients, the device server registers itself with
the so called manager process. The manager operates as a name server,
which is consulted by clients to get the actual location of a server.
TACO includes a simple database for sharing of configuration data and
operational variables between clients and servers.

**Application level:** On the client side, two variants of application
programs are used: Where flexibility is desired and no GUI is needed,
the scripting language Python is used. More static GUI applications are
implemented in C++, using the "Qt" class library, with TACO access
provided by device specific C++ wrapper classes.

## the NSE Control and Data Acquisition System 

### Requirements of the SNS

Instrument networks at the SNS have to follow a fixed addressing scheme
in a 192.168.xxx.xxx private network \[4\]. Access from the SNS network
is protected by a firewall on a gateway computer. The NSE has to conform
to the conventions and interfaces of the proposal and archiving system
at the SNS, which require measurement data to be written in the
so-called Pre-NeXus format, which finally will be translated into the
NeXus format. The timing pulse is decoded from the SNS timing system by
the so-called ETC card, a PCI board developed by the SNS. The data
acquisition group at the SNS relies on the data socket protocol from
National Instruments for device access. Support of this protocol would
ease the integration into the local DAQ infrastructure, e.g. enable use
of systems from the sample environment.

Since the control systems of the SNS LINAC, storage ring and target are
based on EPICS, support of EPICS client functionality is required to
access resources of these control systems, e.g. for reading the
moderator temperature.

![](media/image2.jpeg){width="3.2402777777777776in"
height="2.1840277777777777in"}

Figure 2: Physical architecture of the NSE control and data acquisition
system

### Physical Architecture of the Control System

According to Fig. 2 the control and DAQ system is implemented as a
distributed system with a hierarchical architecture. On top of the
system resides the so-called control computer with all application
software -- GUI-based as well as script-based. Additional computer
systems are used as file server and gateway to the SNS network. Via the
experiment network the control computer accesses the "server computers",
to which all front end systems (detector, monitors, position encoders,
motor controllers, ETC card,...) are attached. On the "server computers"
TACO servers are running, which access the peripheral devices via
dedicated device drivers.

The "slow control" peripherals are indirectly connected to the "server
computers" via a PROFIBUS segment with two S7-300 PLCs and all the
controllers for the power supplies from Bruker. Most motor controllers
and position encoders interfaces reside in ET200 decentral periphery
systems scattered over the instrument, which are connected to the PLCs
via an additional subordinate PROFIBUS segment.

### Software Architecture

As shown in Fig. 3, the implemented software is distributed between
three levels of the system hierarchy. All software below the lower
dashed line runs on PLCs in the front end. The software modules shown
between the dashed lines are running on the server computers. This
comprises TACO servers and device drivers for dedicated HW modules, e.g.
detector electronics, counter board, PROFIBUS controller, GPIB
controller or SNS timing card. Additional TACO servers act as a generic
EPCIS client and a generic NI data socket client, in order to get access
to SNS control system resources or the existing DAQ infrastructure of
the SNS. The TACO middleware is the glue that connects the server
computers to the control computer, where the client application programs
as well as the TACO manager and database (all above the upper dashed
line) are running. Since TACO is location-transparent, the application
programs could run on any Linux-based system.

![](media/image3.jpeg){width="3.2395833333333335in"
height="2.4298611111111112in"}

Figure 3: NSE Software structure

One GUI-based program enables comfortable interactive operation of all
power supplies. A further GUI-based program visualizes the mechanical
setup of the instrument and allows interactive control of each axis, in
order to support service by technical personnel. A thin
abstraction-layer implemented in Phython above the generic TACO-Python
binding hides many details from the user, e.g. it allows the use of
symbolic names and provides the conversion between device units and
physical units. This abstraction layer provides a comfortable script
access to all spectrometer features. The main physics program will
communicate via C-calls with the Phyton-Taco subsystems. It will be a
clone of the J-NSE operation program written in C with added features
for the TOF-data structure and a few time-dependent current functions

## References

\[1\] M. Ohl et al., „High resolution neutron spin-echo spectroscopy
facilities at JCNS", FZ Jülich Annual Report 2005.

\[2\] H. Kleines et al., "Implementation of the Control and Data
Acquisition Systems for Neutron Scattering Experiments at the New
"Jülich Center for Neutron Science" According to the "Jülich-Munich
Standard", Proceedings of the ICALEPCS 2005, Geneva, 2005.

\[3\] D. Richter et al., "High Resolution Time-of-Flight Neutron
Spin-Echo Sprectrometer for the SNS", HGF additional funding proposal,
Jülich, 2003.

\[4\] R. Riedel: "Overview of Data Acquisition at the SNS", ORNL
internal report.