Motion Control Developments
at Diamond Light Source
Matthew Pearson
DLS Controls Group
17th Oct 08
Matthew Pearson - Motion Control
at DLS
1
People involved in motion control / software at DLS:
EPICS / Control Software
• Tom Cobb
• Peter Denison (now left DLS)
• Andy Foster (Contract)
• Ian Gillingham
• Pete Leicester
• Matthew Pearson
• Ulrik Pederson
• Nick Rees (Boss)
• Austen Rose (Insertion devices)
Motion Hardware / Tuning
• Trevor Bates (Contract)
• Paul Dunne (Contract)
• Lee Hudson
• Iain Johnson
• Brian Nutter (Boss)
Agenda:
• What DLS is doing in motion control
• New ethernet controller from Delta Tau
• Work on EPICS drivers and motor record
• Recent work with coordinated motion
• Future plans
17th Oct 08
Matthew Pearson - Motion Control
at DLS
2
What motion control is DLS doing?
Motion Controllers
(beamlines)
Newport XPS
DeltaTau Turbo
PMAC2 VME
Applications:
Diffractometers, DCMs, mirror systems, slits, diagnostics
hexapods, optical tables, ……
Also, nanomotors, various piezo controllers (PI, Queensgate),
new Aerotech Ensemble controller (for specific ‘position compare’ app)
17th Oct 08
Matthew Pearson - Motion Control
at DLS
3
PMAC2 VME
UMAC Crate (I/O, encoder, limits)
(Amplifier Crate Extra)
Optical link
17th Oct 08
Matthew Pearson - Motion Control
at DLS
4
New 8-axis integrated ethernet DeltaTau controller
(Geobrick LV)
• Fewer cables
• Ethernet + USB + Serial
• Lower cost than
PMAC+UMAC+Amplifiers
• Easy to replace
• Andy Foster / Pete Leicester /
Matthew Pearson / Brian Nutter
have worked on adapting EPICS
PMAC driver + testing new
controller.
• Is now DLS ‘standard’ controller
• First batch arrived and is being built
into 32-axis motion rack.
17th Oct 08
Matthew Pearson - Motion Control
at DLS
5
Recent EPICS motor software work at DLS:
Motor Record:
• New HOMED bit in status word (for controllers that support it)
(see tech-talk discussion in Aug 08)
PMAC and XPS driver are ASYN based (see EPICS meeting June 2006)
Asyn device support layer (in motor support module):
• Eases development of new drivers
(see backup slide)
• Clean interface to motor record
• Enables multiple records to use same ASYN port
• Enables the use of ASYN interpose layer
PMAC driver (tpmac support module):
• Adapted for new ethernet controller. Also have a new ASYN
interpose layer to handle PMAC ethernet headers.
• Correct setting of ATHM and HOMED bit.
• Set fatal following error.
• Made polling rates more flexible
• Implemented deferred moves
17th Oct 08
Matthew Pearson - Motion Control
at DLS
6
Recent EPICS motor software work at DLS (cont…):
XPS driver:
Added functionality (set position, for autosave).
Set fatal following error bit.
Set HOMED & ATHM.
Implemented deferred moves.
Deferred moves (Coordinated motion)
caput {device}:defer 1
(turn on deferred moves)
caput {device}:motor1 10.0
caput {device}:motor2 12.0
caput {device}:motor3 13.0
caput {device}:defer 0
(turn off deferred moves and execute
any pending moves)
Can take advantage of controller synchronised moves,
or provides synchronisation at EPICS driver level.
17th Oct 08
Matthew Pearson - Motion Control
at DLS
7
Deferred moves (Cont…)
The {device}:defer is a binary output, like:
file bo.template
{
pattern {P, R, DTYP, OUT, ZNAM, ONAM, SCAN }
{device:, defer, asynUInt32Digital,
"@asynMask(PMAC1,1,1)DEFER", "OFF", "ON", Passive }
}
Asyn port
When moves are executed in driver:
For PMAC: #1J=100
#2J=200 #3J=150 etc. (standard axes)
X(100)Y(200) etc.
(for coordinate systems)
For XPS: GroupMoveAbsolute(int
sockID, char *groupName, int NbAxes,
double position[])
17th Oct 08
Matthew Pearson - Motion Control
at DLS
8
Motion programs / Coordinate systems on PMAC
Can define on PMAC new coordinate systems that look
(almost) the same as a standard motor. We use a customised PMAC
driver to operate/readback the coordinate systems.
Example: Table with 3 jacks
Advantages:
• Synchronised motion
Y1
Y2
Y3
Pitch Angle - X
Height - Y
#1 J=100
X(0.5)Y(100)
• Pushes complexity down into
controller
Disadvantages:
• Requires EPICS PMAC driver changes
• Hard to maintain
17th Oct 08
Have to do this in a
motion program run on PMAC
Matthew Pearson - Motion Control
at DLS
9
Future work
• New DeltaTau PMAC controller:
• Deploy on new beamlines
• Easier to free issue to equipment suppliers
• Increase use of PMAC controller coordinate systems.
• Improve error reporting
For example, make use of EPICS alarm handler
to notify us about limit violations, fatal following
errors, communication errors, etc.
• Started ASYN based OMS VME58/MAXv driver (Nick/Austen).
17th Oct 08
Matthew Pearson - Motion Control
at DLS
10
Backup Slides
17th Oct 08
Matthew Pearson - Motion Control
at DLS
11
Layers
devAsynFloat64
devMotorAsyn
XPS
= Asyn
Port
devMotorAsyn
XPS
drvMotorAsyn
PMAC
MotorAPI
drvMotorXPS
drvMotorPMAC
drvAsynIPPort
drvAsynSerialPort
Ethernet
RS232
XPS
Controller
Peter Denison – EPICS 2006
PMAC
Controller
© Copyright 2026 Paperzz