Pmove: synchro move Mirror, Downstream, Slits, and Table
Changing the angle of the beamline mirror by θ causes the x-ray beam
reflected from it to deviate by 2θ with respect to its original
direction. Then, several beamline components in the stations C and
D need to be moved in order to accommodate this deviation (see Fig.1):
All of the above beamline parts are controlled by different PMAC servo motor
controllers, have different motion speeds, acceleration parameters, etc.
Therefore, they cannot be moved as one single assembly. On the other hand,
moving these components separately has the possibility of damaging a portion
of the beamline since different parts may share mechanical housings. One, then,
has to split the downstream motion into small steps where asynchronous motion
of the components is safe.
- The Downstream Support needs to be rotated by 2θ
(the Downstream Support is always rotated around the mirror center);
- The Horizontal Slits Height needs to be changed by
2θLh, where Lh
is the distance between the slits and the mirror center. Note, that
the slits are mounted on the floor and, therefore, do not move with
the Downstream Support;
- The Vertical Slits Center needs to be shifted by
2θLv, where Lv
is the distance between the slits and the mirror center. These slits are
also mounted on the floor and do not move with the Downstream Support;
- Optionally, if the sample is installed on the Experimental Table,
the Table Angle and the Table Height need to be adjusted by
2θ and 2θLtbl, respectively.
The software accomplishing the task is called Pmove. Originally it was
designed as a general-purpose program for step scans of several linked
motors, specifically for θ-2θ scans. The version of Pmove
which drives the downstream support operates as a server
in the sense that it does not have any keyboard or mouse input. Instead, it
monitors the changes of EPICS PVs (Process Variables) and acts upon those
changes. Those PVs are created specially for Pmove are loaded into one
of the beamline VME crates. Altogether, the software on the computer and the
EPICS database in the crate compose the Pmove Server.
This server extends the capabilities of EPICS software running in the crates.
Once the Pmove Server is started on some computer, the downstream
support can be driven from any computer on the network with the help of the
following MEDM screen:
The Pmove Server supports the three basic operations:
Behind the above two simple motion commands several dozen motor status flags
are permanently monitored and the motion is aborted in the case if anything
- Move -- move the downstream to a specified angle.
- Abort -- abort current motion (stop all motors)
- Revert -- revert the downstream to the last normally
finished Move operation.
In the Move the operator can request either the absolute
Mirror angle or the angle between the Mirror and the x-ray beam
after the monochromator. The relation between these two parameters
θabs = θrel + θbeam
where θrel is the angle between the mirror and the incident
x-ray beam (the beam formed by the monochromator) and θbeam is
the deviation of the incident beam from the horizontal plane. The non-zero
θbeam is due to a small dispersion in the monochromator where
the first crystal is cryogenically cooled, while the second one is not and
therefore the two crystals have slightly different lattice spacing.
When the Move command is issued, the Pmove Server:
- Calculates the difference θ between θabs and the
current mirror angle,
- Calculates respective differences for all of the downstream components as
2θ, 2θLh, 2θLv, etc.
- Calculates new absolute positions for all of the downstream components.
- Moves all the components to the new positions with small steps. The
number of steps is determined by the condition that the mirror angle step
does not exceed 1 mrad. At each step the components are commanded to move
simultaneously and then Pmove wait until all of them are positioned.
What to do when the multiple overtravel is tripped
As mentioned at the beginning of this document, moving the downstream
components separately may potentially cause their running into each other and
respective damage. For example, rotating the downstream by a relatively large
angle may stress or stretch too much the bellows of horizontal or vertical
collimator slits. To avoid such a danger, two multiple overtravels are
installed (see Fig.1). When any of the overtravels is tripped, motion of
the downstream and the slits is disabled and it will stay disabled until the
overtravel is released.
Although Pmove is provdes the maximum possible safety for moving the
beamline components, sometimes the overtravel swithes may be tripped even when
using the Pmove. This may happen since the Pmove relies on the
initial positions of the components and those components may be positioned
outside Pmove with the help of their MEDM forms.
When the multiple overtravel is tripped, this is usually indicated by the
yellow LED lights for several motors on the Pmove MEDM screen. These
lights mean that the amplifiers for those motors are disabled. In such a case,
first of all, it is advised to inspect the LEDs on the motors amplifiers
inside the amplifies rack (the central rack at the right from the beamline
computers). They should show the red overtravel lights for the Downstream
Support, the Vertical Collimator Slits and the Horizontal Collimator Slits
simultaneously. If this is the case, then the operator has to:
- Open the Stations C and D,
- Locate the tripped overtravel switch (see Fig.1),
- Take the manual motor control box (the 'blue box'), connect it to
the respective motor (usually mvc or mhs) and drive it
with the box until the overtravel switch is released.
- Disconnect the box.
- Get back to the Pmove control screen and command
Abort and (optionally) Revert.
- Re-align the slits which caused the problem.