progress with the mx control system toolkit

11
Progress with the MX Control System Toolkit William M. Lavender Biological, Chemical, and Physical Sciences Dept. Chicago, IL 60616 USA http://mx.iit.edu/ Illinois Institute of Technology

Upload: abia

Post on 05-Feb-2016

47 views

Category:

Documents


0 download

DESCRIPTION

Progress with the MX Control System Toolkit. William M. Lavender. Biological, Chemical, and Physical Sciences Dept. Illinois Institute of Technology. Chicago, IL 60616 USA. http://mx.iit.edu/. What is MX?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Progress with the MX Control System Toolkit

Progress with the MX Control System Toolkit

William M. Lavender

Biological, Chemical, and Physical Sciences Dept.

Chicago, IL 60616 USA

http://mx.iit.edu/

Illinois Institute of Technology

Page 2: Progress with the MX Control System Toolkit

What is MX?● A portable beamline control toolkit: BSD, Cygwin, DJGPP, eCos,

HP/UX, Irix, Linux, MacOS X, QNX, RTEMS, Solaris, Tru64, VMS, VxWorks, Windows.

● Written in C, with Python and Tcl interfaces available.

● Designed as middleware.

● Comes with a set of servers and clients so that it can run standalone.

● Has an extensive set of over 440 device drivers (motors, scalers, MCAs, MCSs, area detectors, ...).

● Not tied to one specific network protocol.

● MX servers and clients share the same set of drivers.

● Servers can act as clients and clients can act as servers.

● Easy to interface to other people's drivers.

● Easy to embed in other applications and servers.

Page 3: Progress with the MX Control System Toolkit

● MX now runs on 64-bit architectures: tested on Alpha, AMD64, Itanium, MIPS, PARISC, and SPARC.

● Cross platform threading and synchronization primitives were added for use in enhanced multi-protocol event support.

● Moving to embedded computers for MX servers.

Recent Changes to MX● Debian Packages are now available for MX and EPICS Base.

They can be found at:

deb http://fermi.phys.iit.edu/debian/sarge binary/deb-src http://fermi.phys.iit.edu/debian/sarge source/

We plan to submit these packages for inclusion in the mainDebian distribution.

Page 4: Progress with the MX Control System Toolkit

MX for Physical Sciences ApplicationsDeep X-ray Lithography

A graphical user interface has been developed by Ken McIvor for lithography measurements at MR-CAT (APS Sector 10).

Page 5: Progress with the MX Control System Toolkit

SERGUI – Macromolecular Crystallography for MXJim Fait (U. Georgia) has developed a user interface forcrystallography experiments at SER-CAT (APS Sector 22)

Page 6: Progress with the MX Control System Toolkit

Sample Alignment with SERGUI

Page 7: Progress with the MX Control System Toolkit

AVIEX CCD Detector (PCCD-170170)

● This will be the first commercial application for MX.

● 4096 by 4096 pixel CCD detector.

● 2 by 2 module design with 16 taps and fiber-optic coupling.

● Can be used both as an area detector and as a streak camera.

● High dynamic range: ~30,000

● High sensitivity: Single X-ray photon signal is above the read-noise floor.

● Very fast readout.

● Can operate in a vacuum.

● Supports ROIs to reduce the amount of data transferred.

● First installation will be at SOLEIL.

The PCCD-170170 will be similar in appearance to the PCCD-16080 shown in this picture.

Page 8: Progress with the MX Control System Toolkit

MX as a CCD Control System● The main components controlled by MX are:

- EPIX PIXCI E4 imaging board controlled via PCI-Express.

- AVIEX CCD detector electronics controlled via Camera Link.● The high-level object seen by application programs is an MX

area_detector record.● The area detector record controls the imaging board through an

MX video_input record and the CCD detector electronics through an MX camera_link record.

● The modularity of the design allows one to easily switch imaging boards or detector electronics without requiring large changes to the rest of the software.

● Network transparency for MX clients is implemented via the MX network_area_detector driver.

● Both Linux and Windows are supported for the detector computer.● Future plans include support for EPICS and Blu-Ice clients.● SOLEIL plans to write their own Tango-based wrapper for MX.

Page 9: Progress with the MX Control System Toolkit

Near Term Plans

● Finish enhancements of the event and callback system for MX. (Winter 2006-2007)

● Finish the full implementation of an MX-based Portable Channel Access Server for EPICS clients.

● Implement an MX-based Blu-Ice Device Hardware Server.

● Implement loadable device drivers and extensions.

Page 10: Progress with the MX Control System Toolkit

Supported DevicesMotor ControllersACS MCU-2Aerotech Unidex 500Am9513Animatics SmartMotorAPS insertion deviceBlu-Ice motorBruker D8Compumotor 6KCompumotor 6000Cryostream 600 temp ctrlDAC outputDelta Tau PMACDSP E500EPICS motor recordIMS IM483IMS MDriveIMS PantherJoerger SMC24Kohzu SC-series motorLakeShore 330 temp ctrlMarDTB motorMclennan PM304Mclennan PM600MX network motorNI ValueMotionNew Focus PicomotorNewport MM3000Newport MM4000Newport ESPNSLS MMC32OMS VME58OSS BCW μ-GLIDEOxford Inst. ITC503 temp ctrlPan/Tilt/Zoom motorPhidget stepper motorPhysik Instrumente E-662Pontech STP100Prairie Digital Model 40Precision Microcontrol MCAPIRadix Databox motorSCIPE motorSI 9650 temp ctrlSoftware emulated motorspec motorVelmex VP9000XIA HSC-1

PseudomotorsALS dewar positionerAPS 18-ID monochromatorCCD detector A-FrameCompumotor linear interp.CrystalLogic 2θDeltaElapsed timeGated backlashLinear functionMonochromatorMX record fieldPMAC coordinate systemQ (momentum transfer)Segmented moveSine armSlit center/widthTable rotation/translationTangent armθ-2θTranslationX-ray energyX-ray wavelengthX-ray wavenumberXAFS wavenumber

EncodersKinetic Systems 3640

Counter/TimersAm9513Black Cat Systems GM seriesBlu-Ice timerDSP QS-450 scalerDSP RTC-018 timerEPICS scaler recordJoerger VSC-16Kinetic Systems 3610 scalerMCS scaler/timerMX network scaler/timerOrtec 974Prairie Digital Model 45Radix DataboxSCIPE scaler/timerSoftware emulated scaler/timerspec scaler/timerXIA Handel/Xerxes timersXIA PFCU shutter timer

Pseudocounter/timersAutoscale scalerGain tracking scalerInterval timerMCA alternate timeMCA channelMCA ROI integralScaler functionTimer fanout

AmplifiersAPS QuadEMKeithley 428MX network amplifierOxford Danfysik IC PLUSOxford Danfysik QBPMSCIPE amplifierSoftware emulated ampStanford Res. Syst. SR570UDT Tramp

Animatics SmartMotor I/OBit manipulationBlu-Ice ion chamberCompumotor I/OCrossbow CXTILT02Data Track TrackerDelta Tau PMAC I/OEPICS I/OGeneral PC I/O portIMS MDrive I/OIntel 8255Keithley 2000 seriesKeithley 2400 seriesKeithley 2700 seriesKinetic Systems 3063Kinetic Systems 3112Kinetic Systems 3512MarDTB statusMCAI functionMCA valueMclennan PM600 I/OMODBUS I/OMotorola 6821MX network I/ONew Focus Picomotor I/ONewport Elec. P6000AOmega iSeriesPC parallel portPfeiffer TPG 261/262Prairie Digital Model 45Precision Microcontrol I/OSCIPE I/OSoftware emulated I/OStanford Res. Syst. SR630VME I/OWago 750-specific MODBUSX10 CM17AXIA PFCU filter summary

Analog and Digital I/O

RelaysBlind relayBlu-Ice shutterGeneric relayMarCCD shutterMarDTB shutterMX network relayPulsed relayXIA PFCU filterXIA PFCU shutter

Multichannel AnalyzerEPICS MCA recordMX network MCAOrtec TrumpRoentec RCLSoftware emulated MCAXIA DXP-2XXIA Saturn

Multichannel EncoderMCS encoderMCS time MCEMX network MCEPMAC MCERadix Databox encoder

Multichannel ScalerEPICS MCA record (as an MCS)MX network MCSRadix Databox MCSScaler function MCSSoftware emulated MCSStruck SIS3801

Pulse GeneratorsMX network pulserPrairie Digital Model 45Struck SIS3801Struck SIS3807

Single Channel AnalyzersMX network SCAOxford Danfysik Cyberstar X1000Software emulated SCA

Multichannel Analog Input

Pan/Tilt/ZoomHitachi KP-D20A/BMX network PTZPanasonic KX-DP702Software emulated PTZSony VISCA

Video InputEPIX PIXCIMX network videoSoftware test patternVideo4Linux 2

Area DetectorsAVIEX PCCD-170170MarCCDMX network ADSoftware emulated AD

Oxford Danfysik QBPM

Page 11: Progress with the MX Control System Toolkit

AutoscaleAmplifier autoscaleFilter autoscaleFilter/amp autoscaleMX network autoscale

Sample ChangersMX network sample changerSER-CAT robotSoftware emulated sample changer

ScansFile list step scanInput device step scanMCS quick/fast/slew scanMotor step scanPseudomotor step scanθ-2θ step scanXAFS step scan

VariablesAPS topup/time to injectBlu-Ice variablesEPICS variablesInline variablesMathop calcMX network variablesPMAC variablesPosition select calcspec variables

ServersTCP/IP MX serversUnix domain socket MX servers

Serial portsCamera LinkDOS COMDOS FossilEPICS RS-232Linux/Unix ttyKinetic Systems 3344MX network RS-232spec commandTCP socketVMS RS-232VxWorks RS-232Wago 750 serialWin32 COM

GPIBEPICS GPIBIotech Micro488EXKeithley K500Linux GPIBMX network GPIBNI 488

CAMACDSP 6001ESONE CAMACSoftware emulated CAMAC

Port I/ODOS port I/ODriverLINX for Win32Linux iopl/iopermMX portio for LinuxVxWorks port I/O

VME I/OEPICS VME recordmmap() VME I/ONI VXI MEMACCRTEMS VME I/OStruck SIS1100/3100VxWorks VME I/O

MODBUSMODBUS/TCPMODBUS Serial RTU

USBlibusb

Goniostat TablesADC table