Welcome to X26A
Information For Users
APS Sector 13
BNL Visitor's Guide
The X26A Computer Control System
This web page and the ones linked to it hopefully will give you an overview of the beamline control systems at X26A. Currently we use a combination of EPICS and IDL to control the beamline and do data collection, employing the latest EPICS and VME control systems. The system is designed to ensure commonality between our setup at the GSECARS sector at the APS and the X26A and X27A configurations here at the NSLS. The system uses EPICS as the instrumentation front end, linked to electronics through a VME crate and soft ioc's running on windows based systems. These web pages are designed to give you a basic understanding of how to navigate the system and is organized top down to follow the general flow of operations you go through in setting up your run. It doesn't come close to addressing all the aspects of the software and beamline operations. Thatís always learned best during hands-on operation. This is simply designed to touch on the basics you'll need to get up and running. Reviewing this prior to your arrival will help us get your experiments started more quickly. Topics are grouped by basic concepts using the drop down menu at the top of the page. Clicking on these hyperlinks will take you to the pertinent section. Within the pages all the images shown are linked to larger versions. So if you want to see the picture in big bright bold Technicolor just click on the image.
One thing you'll notice right off the bat when you come to visit us is the plethora of computers we have scattered about to interface with various beamline components. While the computing systems are all networked together on a local area network, we generally restrict network access outside the LAN to only a single system used by users for data processing. We currently utilize a PC operating with an Ubuntu flavor of linux as the EPICS boot host. We request that you leave this computer alone since it's the most mission critical. Think of this as Captain Kirk's domain, generally it's best not to get Jim riled up. While the beamline can essentially be operated from any of the systems, we've tried to set up a configuration where specific PC's are used for specific tasks. You'll see a multi-monitor system to the right (X26A-Control) that's primarily used to operate beamline motors and electronics and do data collection. Think of this as Mr. Sulu's domain, from here is where you will do most of the driving...moving around your sample and setting up your scan. The multi-monitor system on the left (X26A-Cars) is the one we've set up for data processing. Here you can let your inner Mr. Spock come play, scans and spectra can be plotted and you'll also have external network access. We have a system for operating our Rayonix SX-165 area detector (X26A-XRD running Redhat linux) that shares one of the monitor displays and the mouse and keyboard from X26A-Cars. We only run this system when we're doing microdiffraction studies and, when operating, access between X26A-Cars and X26A-XRD is achieved through the blue KVM switch that sits just below the monitor. We also have a system that acts as the EPICS soft ioc host for our Prosilica Gigabit Ethernet CCD camera. This system is connected to our Mitutoyo optical system that gives a microscopic view of your sample through an ImageJ plugin that runs on this computer. This system shares keyboard and mouse with X26A-Control and the KVM switch for jumping between these sits just under the X26A-Control monitors. All data collected is stored on X26A-Control in the directory X:\data. We will create subdirectories for you that preserve a sequential directory structure we've used since the beamline first came on line (NSLS###). After some period of time we migrate these files to external drives for archival, but they'll always be available to you. All the data on X26A-Control can be accessed by all other systems on the LAN. Both X26A-Control and X26A-Cars are configured to run IDL for data collection and data processing. We also have available CD-R/W, DVD-R/W, USB Multicard readers and SATA hard drive docks for data storage. We can also make data available to you via the NSLS anonymous FTP site for data retrieval. Residence time on the FTP site is roughly a week. But we recommend that you make efforts to take your data with you at the end of your run if possible. Entire data sets for flyscans in particular can reach sizes in excess of 30 Gb, which is very inefficient to retrieve via ftp and impossible via email. Most of our data processing is done using the RSI's IDL software. We make the data processing routines you'll require available as to you as IDL compiled software that can be run using the IDL Virtual Machine tool.
Logging Your Runs
When you get to the beamline you'll see that we have a logbook for you to record your runs in. You're certainly encouraged to keep your own record of what you do, but it is REQUIRED by NSLS policy that we keep a daily log of what you run. At the very least we'd like you to log file names and type of analysis. No exceptions! If you don't log your runs and you call me months later to try and figure out what was done, I will chuckle... but will most likely not be able to help much.
EPICS and VME
WE certainly use alot of esoteric terminology and the number of acronyms you may run across here can all get a bit confusing. Luckily, for you as a user, you generally don't have to worry yourself with these details. But just in case you're inclined, let me describe a few of the more frequent terms we use. This can come in handy if something isn't working and we are trying to troubleshoot over the phone. You will hear us discuss the EPICS system rather frequently. EPICS is a set of software tools and applications which provide a software infrastructure for use in building distributed control systems to operate devices. EPICS is really optimized for use with distributed systems over a network and allows for communication between them and provides control and feedback of the various parts of the device from a central control room, or even remotely over the internet. EPICS uses Client/Server and Publish/Subscribe techniques to communicate between the various computers. Most servers (called Input/Output Controllers or IOCs) perform real-world I/O and local control tasks, and publish this information to clients using the Channel Access (CA) network protocol. CA is specially designed for the kind of high bandwidth, soft real-time networking applications that EPICS is used for, and is one reason why it can be used to build a control system comprising hundreds of computers.
In our case, the IOC's
that we use are split between those components that are operated as VME based electronics
and those operated as so-called "soft IOC's" that boot from small programs
resident on PC's at the beamline. The VME crate is that funky beige box
sitting in the top of our electronics rack. It contains things like motor
controllers, scalers, etc., but also contains a Power PC processor, so is a
computer in its own right, running Wind River's VxWorks realtime operating
system. The VME boots up using system files that reside on our Ubuntu Linux
system. Once booted using the definitions on our boot host, the VME crate
can run independently. It does, however, periodically communicate with the
boot host to save system parameters that are changing, such as motor
positions, detector calibrations, etc. Thus while the linux system does not
need to be running once the VME has booted, this constant backup of system
parameters ensures that if we need to reboot the VME for some reason you'll find that most
hardware definitions remain intact. Systems at X26A that utilize soft IOC's
include our XMap detector system and our Prosilica GigE CCD camera. For
these systems, the PC's that host the IOC's must remain on and running for
hardware to function properly. With Channel Access, any EPICS component,
whether operating on a hard or soft IOC, can be controlled from software
clients anywhere on our LAN.
|Beamline X26A receives support the following organizations:|