Each Offset Mirror System is accessible from the LFE/KFE home screens in the "Mirrors" row.

One should request positions to the "<axis> user setpoint" field, where <axis> is of the following: "y up", "y dwn", "x up", "x dwn", "pitch", or "bender"

Detailed Python Documentation: https://pcdshub.github.io/pcdsdevices/generated/generated/pcdsdevices.mirror.XOffsetMirror.htm

happi entries : found by searching for device name (same as system name but all lower case):

  • $ happi search name=mr1l0_homs
  • $ happi search name=mr2l0_homs
  • $ happi search name=mr1k4_soms

Essential PVs

Each device has a prefix including the device name and fungible term. Fungible terms can be found here: Device Names

Ex: MR1L0:HOMS, MR2L0:HOMS, MR1K4:SOMS

Axis Setpoint/Readback Suffixes

SuffixDescription
:MMS:YUP (:MMS:YLEFT for MR1K2)Yup (Yleft for MR1K2) User Setpoint
:MMS:YUP.RBV (:MMS:YLEFT.RBV for MR1K2)Yup (Yleft for MR1K2) User Readback
:MMS:YDWN (:MMS:YRIGHT for MR1K2)Ydwn (Yright for MR1K2) User Setpoint
:MMS:YDWN.RBV (:MMS:YRIGHT.RBV for MR1K2)Ydwn (Yright for MR1K2) User Readback
:MMS:XUPXup User Setpoint
:MMS:XUP.RBVXup User Readback
:MMS:XDWNXdwn User Setpoint
:MMS:XDWN.RBVXdwn User Readback
:MMS:PITCHPitch User Setpoint
:MMS:PITCH.RBVPitch User Readback
:MMS:BENDER

Bender User Setpoint

:MMS:BENDER.RBVBender User Readback
  • i.e a complete PV for MR2L0's pitch readback would be: MR2L0:HOMS:MMS:PITCH.RBV
    • Note: one can specify the precision returned by caget using -f <N>, where <N> is the desired number of decimal places, i.e $ caget -f 5 MR2L0:HOMS:MMS:PITCH.RBV

Encoder Readback Suffixes

The PLC pushes encoder arrays of 1000 elements sampled at 1 kHz for each upstream (master) axis' actual position readback to epics. The mean, standard deviation, rms deviation from the setpoint, and the entire array itself are accessible from the following PVs:

SuffixDescription
:ENC:Y:ACTPOSARRAY_RBVArray of 1000 encoder readback values for Yup sampled at 1 kHz
:ENC:Y:SETPOSARRAY_RBVArray of 1000 axis set point values for Yup sampled at 1 kHz
:ENC:Y:MEAN_RBVMean of Yup encoder actual position array
:ENC:Y:STDEV_RBVStandard deviation of Yup encoder actual position array
:ENC:Y:RMS_RBVRMS deviation from setpoint for Yup encoder actual position array
:ENC:X:ACTPOSARRAY_RBVArray of 1000 encoder readback values for Xup sampled at 1 kHz
:ENC:X:SETPOSARRAY_RBVArray of 1000 axis set point values for Xup sampled at 1 kHz
:ENC:X:MEAN_RBVMean of Xup encoder actual position array
:ENC:X:STDEV_RBVStandard deviation of Xup encoder actual position array
:ENC:X:RMS_RBVRMS deviation from setpoint for Xup encoder actual position array
:ENC:PITCH:ACTPOSARRAY_RBVArray of 1000 encoder readback values for Pitch sampled at 1 kHz
:ENC:PITCH:SETPOSARRAY_RBVArray of 1000 axis set point values for Pitch sampled at 1 kHz
:ENC:PITCH:MEAN_RBVMean of Pitch encoder actual position array
:ENC:PITCH:STDEV_RBVStandard deviation of Pitch encoder actual position array
:ENC:PITCH:RMS_RBVRMS deviation from setpoint for Pitch encoder actual position array
:ENC:BENDER:ACTPOSARRAY_RBVArray of 1000 encoder readback values for Bender sampled at 1 kHz
:ENC:BENDER:SETPOSARRAY_RBVArray of 1000 axis set point values for Bender sampled at 1 kHz
:ENC:BENDER:MEAN_RBVMean of Bender encoder actual position array
:ENC:BENDER:STDEV_RBVStandard deviation of Bender encoder actual position array
:ENC:BENDER:RMS_RBVRMS deviation from setpoint for Pitch encoder actual position array

Raw Encoder Counts and Reference Values

SuffixDescription
:ENC:YUP:CNT_RBVYup encoder raw count (nm)
:ENC:YUP:REF_RBVYup encoder reference count (nm)
:ENC:YDWN:CNT_RBVYdwn encoder raw count (nm)
:ENC:YDWN:REF_RBVYdwn encoder reference count (nm)
:ENC:XUP:CNT_RBVXup encoder raw count (nm)
:ENC:XUP:REF_RBVXup encoder reference count (nm)
:ENC:XDWN:CNT_RBVXdwn encoder raw count (nm)
:ENC:XDWN:REF_RBVXdwn encoder reference count (nm)
:ENC:PITCH:CNT_RBVPitch encoder raw count (nm)
:ENC:PITCH:REF_RBVPitch encoder reference count (nm)

Encoder Readback Data Storage Script

Other Useful Suffixes For Motor Records

  • Any motor PV can include the following suffix for additional parameters:
PV SuffixFunction
.VELOSetpoint Velocity
.RDBDEpics deadband
:PLC:bResetReset an axis error in Epics
:PLC:bPowerSelf_RBVMotor power PV, should be TRUE in normal operation


XRT Mirror PVs

The following are showing for XRT-M1. Substitute M1H for M2H and M3H as needed.

Position Set Point and Read Back

PVFunction
XRT:M1H:Y:P:VALY master axis set point position
XRT:M1H:Y:S:VALY slave axis set point position
XRT:M1H:X:P:VALX master axis set point position
XRT:M1H:X:S:VALX slave axis set point position
MIRR:XRT:M1H:VALPitch axis set point position
XRT:M1H:Y:P:RBVY master axis read back position
XRT:M1H:Y:S:RBVY slave axis read back position
XRT:M1H:X:P:RBVX master axis read back position
XRT:M1H:X:S:RBVX slave axis read back position
MIRR:XRT:M1H:RBVPitch axis read back position

Pitch Deadbands

These PVs control the handoff between the pitch stepper and piezo motion. For the stepper, this indicates the distance from the set point at which point the stepper will disable and allow the piezo to finish the move. For the piezo, this indicates the distance from the set point at which point the move is determined to be "complete".

PVFunctionRun 18 Value (urad)
MIRR:XRT:M1H:DBDStepper motor deadband2
PIEZO:XRT:M1H:DBDPiezo motor deadband1
  • No labels