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):


  1. The Downstream Support needs to be rotated by 2θ (the Downstream Support is always rotated around the mirror center);
  2. The Horizontal Slits Height needs to be changed by 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;
  3. The Vertical Slits Center needs to be shifted by 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;
  4. Optionally, if the sample is installed on the Experimental Table, the Table Angle and the Table Height need to be adjusted by 2θ and Ltbl, respectively.
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 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:

  1. Move -- move the downstream to a specified angle.
  2. Abort -- abort current motion (stop all motors)
  3. Revert -- revert the downstream to the last normally finished Move operation.
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 goes wrong.

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 is:

θ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:

  1. Calculates the difference θ between θabs and the current mirror angle,
  2. Calculates respective differences for all of the downstream components as 2θ, 2θLh, 2θLv, etc.
  3. Calculates new absolute positions for all of the downstream components.
  4. 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:

  1. Open the Stations C and D,
  2. Locate the tripped overtravel switch (see Fig.1),
  3. 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.
  4. Disconnect the box.
  5. Get back to the Pmove control screen and command Abort and (optionally) Revert.
  6. Re-align the slits which caused the problem.