spec Hardware Guide
spec,
a UNIX-based software package for instrument control
and data acquisition, includes built-in support for a wide variety
of motor controllers, counters, timers and other data-acquisition
devices, allowing great flexibility in a site's hardware configuration.
Lists of currently supported devices follow.
Support for additional
devices is continually being added.
For maximum flexibility, spec
also provides direct user access to
RS-232C, GPIB, CAMAC, VME, PC port and even socket interfaces.
The functions available to do this are also described below.
Please contact CSS for specific hardware recommendations, or to discuss
adding support for other interfaces, devices or UNIX platforms.
CSS has adapted spec
to work in the distributed computing
environment (TACO)
at the European Synchrotron Radiation Facility (ESRF).
There, the control hardware resides in VME crates with ESRF-maintained
servers and drivers handling the communication between spec
and the
VME devices.
Support for the EPICS distributed computing environment, as is used
at many beamlines at
the Advanced Photon Source (APS) at Argonne National Lab, is
also in place.
Support for the alternative SCIPE distributed computing environment,
as is used at
the DND-CAT at the APS, is included.
CSS has also developed support for the
equipment manager
RPC-based
ethernet control of hardware used at the SPring-8 synchrotron.
Contact CSS for information on customization to other special environments.
COMPUTER PLATFORMS
This table lists the computers and UNIX versions
on which spec
is in use.
spec
will run on most UNIX systems, although the support for data-acquisition
hardware will vary.
Contact CSS if you are interested in using spec
on a UNIX system that is
not listed below.
Devices that use serial (RS-232C) ports are always supported.
GPIB is also usually available, particularly if there is a
National Instruments board and driver for the system.
Other types of hardware, such as CAMAC, VME or special PC bus adapters
may or may not be available or feasible.
Support for a number of ethernet socket-based hardware devices
is included with spec.
Like serial devices, the ethernet devices should be usable on
all supported platforms.
- Intel compatible (486 or better) with Linux
- Sun4 and SPARCstation with SunOS 4.1, Solaris 2.x, Solaris 7,8
- HP 9000/700 Series with HPUX 9.x/10.x/11.x --
spec includes support for E/ISA slots
spec
will be updated to newer releases of the various
operating systems as needed.
Other platforms have been supported in the past, but due to lack of
interest from
spec
users, support for those platforms has been suspended.
Again, contact CSS if interested in unlisted platforms.
The most popular platforms for spec is
Linux on a PC.
HARDWARE INTERFACES
Hardware interface availability varies among platforms,
with the table that follows showing the hardware controllers
spec
supports on each.
Other controllers will be added in the future
based on user interest.
- All Platforms
- SERIAL
- Generic serial ports
- TACO (ESRF) serial device server
- EPICS serial record
- Socket-based ethernet-to-serial such as ATOP TigerLink
- ETHERNET
- GPIB
- Intel Compatible with ISA/PCI Bus
- GPIB
- CAMAC
- VME
- CANbus
- Trinamic CANnes PCI CAN Controller
- MEN Mikro Electronik GMbH M-Bus model M51 (VME)
- Sun Computers
- GPIB
- CAMAC
- VME
- CANbus
- MEN Mikro Electronik GMbH M-Bus model M51 (VME)
- HP/700
- GPIB
- CAMAC
- VME
- CANbus
- MEN Mikro Electronik GMbH M-Bus model M51 (VME)
Notes:
[1] As of spec release 5.05.02-5, the older
PCII and PCIIA GPIB cards have direct support built into
spec on
Linux systems.
Previously, these cards
were only supported by the now deprecated
GPIB driver available by anonymous ftp from
ftp.llp.fu-berlin.de.
The new
Linux
Source Forge
GPIB driver supports these and many GPIB cards.
[2] As of spec release 5.07.02-6, built-in
support for the AT-GPIB and PCI-GPIB cards is included.
As of release 5.07.02-4, support for GPIB-ENET is included
No additional drivers or vendor libraries are required.
For older spec releases and 2.4 or earlier
Linux kernels,
GPIB drivers for the
AT, PCI and ENET cards are available from National
Instruments at
ftp.ni.com.
However, the newer version 2 drivers (needed for 2.6
Linux
kernels)
are not supported
by
spec.
Use the
Source Forge
driver instead.
[3] The GPIB to CAMAC modules
require a National Instruments GPIB
interface on PCs.
[4] Currently, for PCs, only supported on Linux.
[5] Only on Linux. Supported when used with SBS (Bit-3)
driver software
Model
1003 (not beta versions).
[6] Only on systems for which National Instruments provides driver
software (not Linux).
[7] Usable on HPs with E/ISA slots.
[8] Can be used either with bundled CSS software or with
Kinetic Systems
software.
[9] Supported when used with SBS (Bit-3) driver software
Model
933.
[10] Supported when used with SBS (Bit-3) driver software
Model
934.
[11] Supported when used with SBS (Bit-3) driver software
Model
944.
Hardware that operates on serial (RS-232C) interfaces can be used on
any platform.
With release 4.01.11 of spec,
up to four GPIB controllers
can be configured
simultaneously.
With release 5.07.02-9, up to eight GPIB controllers can be used.
With release 4.05.06 of spec,
up to four VME controllers
can be configured
simultaneously.
With release 5.06.02-1 of spec,
up to four CAMAC controllers
can be configured
simultaneously (with some restrictions).
Operation of CAMAC controllers that plug into the host bus may require
special drivers written by CSS.
(Note that the DSP 6001/2 with PC004
and the KSC 2926 PC board
may now be operated within in spec
in a polled, driverless mode.)
The KS 3929 SCSI to CAMAC controller on the Sun platforms
(both Sun0S 4.x and Solaris 2.x)
requires a special driver
provided by CSS.
The KS 3929 SCSI to CAMAC controller can be used on the HP700 platform
either with
the (rather expensive) KS software
or with the bundled software included with spec.
Multiple copies of spec
can be run on a single platform to control
multiple diffractometers sharing a single CAMAC or GPIB controller.
In general, though, individual CAMAC modules cannot be shared by multiple
copies of spec.
USER ACCESS TO HARDWARE DEVICES
spec
provides built-in support and a consistent user interface
for motor controllers,
counters, timers and MCA-type devices, using commands such as
tcount(),
getangles,
move_all,
etc.
Basic user-level access to serial, GPIB, CAMAC, PC I/O port and socket
interfaces is available using the following functions.
The functions
ser_put()
and
ser_get()
read strings from and write strings to selected serial devices.
Baud rate and various line characteristics such as
raw
or
cooked
mode and parity are set using spec's
configuration editor.
Direct GPIB access is through the functions
gpib_get(),
gpib_put(),
gpib_poll()
and
gpib_cntl().
The first function reads arbitrary strings or binary values
from the addressed GPIB device,
the second function writes strings, while the third one
obtains serial poll status.
The last function is used to send the DCL, SDC, GET, GTL and LLO
messages, and to assert IFC.
User-level CAMAC access is through the functions
ca_cntl(),
ca_get(),
ca_put()
and
ca_fna().
The first allows sending the CAMAC Z or C commands and setting or
releasing crate inhibit.
The next two read or write 24-bit data using function codes of 0 and
16, respectively, while the last function allows arbitrary transactions
to a selected module.
On PCs and HP 700 platforms with an ISA bus,
direct access to IO ports is provided with the functions
port_get(),
port_put(),
port_getw()
and
port_putw().
The first two use byte instructions, while the latter two use word
instructions.
When a VME controller is present, the functions
vme_get(),
vme_put(),
vme_get32(),
vme_put32()
and
vme_move()
allow direct access to the VME bus addresses, with the last
function allowing DMA transfers.
To reach hardware connected by ethernet, spec
provides the functions
sock_get(),
sock_put()
and
sock_par(),
to send and receive strings to the socket
specified by a hostname and
port number.
In the TACO version of spec,
the special functions
taco_io()
and
taco_dc()
give the user access to most of the device servers and to the data collector.
In the EPICS version of spec,
the special functions
epics_get(),
epics_put()
and
epics_par()
allow arbitrary channel access.
In the equipment manager environment, the special function
em_io() allows arbitrary access to the RPC communication.
HARDWARE DEVICES
Support for all the hardware options in the
following tables is included with each spec
distribution.
spec's
spread-sheet styled configuration editor makes it easy for the
spec
user or
the site's spec
administrator to select or modify
the hardware configuration.
The following table lists the device controllers
spec
currently
supports.
(Note, please contact CSS before ordering equipment based on
this list for specific recommendations or comments regarding
particular controllers.)
- MOTOR CONTROLLERS
- SERIAL
- GPIB
- ISA BUS
- Burleigh 671 for 6200ULN
- Delta Tau PMAC
- Galil DMC-1000
- Newport (Klinger) MM2000
- Oregon Micro Systems PCX/PC34/PC38/PC39/PC48/PC58
- PC Port 12- or 16-bit D/A (used to control piezo devices)
- PMC Corp DCX-100
- PCI BUS
- CAMAC
- DSP E250 12-Bit D/A (used to control piezo devices)
- DSP E500/E500A Stepper Motor Controller
- Joerger SMC-24/SMC-L/SMC-LP
- Kinetic Systems 3112 12-Bit D/A (used to control piezo devices)
- Kinetic Systems 3195 16-Bit D/A (used to control piezo devices)
- VME
- CANbus
- ETHERNET
- COUNTER/TIMERS
- SERIAL
- GE Detel S21DC
- Gomm Counters (Uni-Erlangen Design)
- Inel 715 Dual Scaler
- MAC Science MXC
- Ortec 974/994 Counter/Timer [note 2]
- Ortec 974/994/995/997 Counters
- Rigaku RINT-2000
- Tsuji CT16-01B Counter/Timer
- ULS ULS3020
- GPIB
- Ortec 974/994 Counter/Timer [note 2]
- Ortec 974/994/995/997 Counters
- Tsuji CT16-01B Counter/Timer
- ISA BUS
- PCI Bus
- MICROCHANNEL
- CAMAC
- VME
- ETHERNET
- 1D Detectors, MCAs
- SERIAL
- Amptek 8000/8000A Pocket MCA
- Amptek PX4 Digital Pulse Processor/MCA
- MBraun PSD-50M
- Röntec XFlash MAX MCA
- GPIB
- Canberra PCA Multiport (formerly from The Nucleus)
- Ortec 918A Multichannel Buffer
- Princeton Applied Research Potentiostat/Galvanostat Model 283
- Princeton Instruments ST116 PDA
- Seiko EG&G Orsim MCA 7700
- Silena 7328/7329 MCA
- ISA BUS
- Hecus ASA-32 SAX/SWAX MCA Board
- FAST ComTec MCD/PC Board
- The Nucleus PCA-II (no longer made)
- Canberra PCA-3 (formerly from The Nucleus) (no longer made)
- Aptec-NRC Series 5000 (formerly from The Nucleus "Microfast") (no longer made)
- Ortec Trump 2K/8K Multichannel Buffer
- PCI BUS
- Ortec MCS-PCI Multichannel Scaler
- Ortec Trump-PCI 2K/8K Multichannel Buffer
- Parallel Port
- CAMAC
- DSP 2190 MCS Averager
- LeCroy 2301 interface for qVT MCA
- LeCroy 3512 Spectroscopy ADC
- LeCroy 3588 Fast Histogram Memory
- XIA DXP4C/DXP4C2X
- USB
- VME
- ETHERNET
- 2D Detectors, CCDs
- GPIB
- Photometrics Star 1 CCD system
- Ordela AIM 312 2D detector
- PCI BUS
- SBUS
- Princeton Instruments ST-138 CCD controller with EDT SDV card
- ESRF Frelon CCD Camera
- USB
- VME
- Photometrics CCD interface
- ESRF Frelon CCD Camera
- MISC
- SERIAL
- Brookhaven Instruments BI-9000 Autocorrelator
- Nicomp TC-100 Autocorrelator
- GPIB
- ISA BUS
Notes:
[1] The KS 3640 may be used as a timer, a counter or a position
accumulator for the Joerger SMC.
[2] The Ortec 994 may be configured as a blind timer with its
two channels available for counting.
[3] The PC-DIG frame grabber requires a linux driver, which is available at
ftp.gom.com.
Different types of motor controllers may be used simultaneously.
For example, both
CAMAC E500 and the Oregon Micro Systems PC-board motor controllers
can be active at the
same time.
spec
supports a motor channel multiplexing capability that allows one
channel of a CAMAC E500 to be used to control up to 48 motors, or
one channel of an OMS controller to be used to control up to 16 motors.
Several sites have implemented this feature.
Contact CSS for details.
Access to MCA and other miscellaneous data acquisition devices is through the
functions
mca_sel(),
mca_get(),
mca_put()
and
mca_par().
The first selects among several configured devices,
the second
transfers data from the device to spec,
the third
transfers data from spec
to the device
and the
fourth implements arbitrary device-dependent capabilities.
Access to CCD and other 2D data acquisition devices is through the
functions
image_get(),
image_put()
and
image_par().
... Meeting the software needs of scientists since 1985 ...
Last Updated February 20, 2008
Send comments, queries, suggestions to
info@certif.com
© 2008 Certified Scientific Software. All rights reserved
|