17th Oct 08 Matthew Pearson - Motion Control at DLS 1
Motion Control Developmentsat Diamond Light Source
Matthew Pearson
DLS Controls Group
17th Oct 08 Matthew Pearson - Motion Control at DLS 2
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)
People involved in motion control / software at DLS:
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 3
What motion control is DLS doing?
Motion Controllers(beamlines)
DeltaTau Turbo PMAC2 VME
Newport XPS
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 4
PMAC2 VME
(Amplifier Crate Extra)
UMAC Crate (I/O, encoder, limits)
Optical link
17th Oct 08 Matthew Pearson - Motion Control at DLS 5
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 Nutterhave worked on adapting EPICSPMAC driver + testing newcontroller.
• 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 6
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• 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
(see backup slide)
17th Oct 08 Matthew Pearson - Motion Control at DLS 7
Recent EPICS motor software work at DLS (cont…):
Deferred moves (Coordinated motion)
caput {device}:defer 1 (turn on deferred moves)caput {device}:motor1 10.0caput {device}:motor2 12.0caput {device}:motor3 13.0caput {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.
XPS driver: Added functionality (set position, for autosave). Set fatal following error bit. Set HOMED & ATHM. Implemented deferred moves.
17th Oct 08 Matthew Pearson - Motion Control at DLS 8
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 } }
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[])
Asyn port
17th Oct 08 Matthew Pearson - Motion Control at DLS 9
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 PMACdriver to operate/readback the coordinate systems.
Example: Table with 3 jacks Y1Y2Y3
Pitch Angle - XHeight - Y
#1 J=100 X(0.5)Y(100)
Have to do this in a motion program run on PMAC
Advantages:• Synchronised motion• Pushes complexity down into controller
Disadvantages:• Requires EPICS PMAC driver changes• Hard to maintain
17th Oct 08 Matthew Pearson - Motion Control at DLS 10
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 handlerto notify us about limit violations, fatal followingerrors, communication errors, etc.
• Started ASYN based OMS VME58/MAXv driver (Nick/Austen).
17th Oct 08 Matthew Pearson - Motion Control at DLS 11
Backup Slides
17th Oct 08 Matthew Pearson - Motion Control at DLS
Layers
devMotorAsyndevAsynFloat64
drvMotorPMACdrvMotorXPS
MotorAPIdrvMotorAsyn
XPS XPS
drvAsynIPPort drvAsynSerialPort
Ethernet
XPS Controller
RS232 PMAC Controller
= Asyn Port
devMotorAsyn
PMAC
Peter Denison – EPICS 2006