Skip to content

Reflectomtery IOC POLREF

Thomas Lohnert edited this page Sep 30, 2020 · 33 revisions

Wiki > The Backend System > Specific Device IOC > Miscellaneous motion control > Reflectometry IOC > POLREF

Specific information about POLREF.

Axes

Axes when sample is in horizontal configuration.

axes directions on POLREF

In vertical configuration CHI and Theta/PHI/ANGLE are swapped, as are x and y axes. NB slit directions are not so in vertical mode the collimation is controlled by the horizontal slits.

axes directions on POLREF in vertical mode

Slit 3/Beam blocker

Slit 3 is a tall set of normal jaws sitting on the bench. In horizontal sample mode the centre of the jaws is set using the S3OFFSET parameter which sets the distance from beam to the jaws, (usually set to 0). The bench movement means that the centre of the jaws rarely needs to change except during a slit scan. Slit 3 can also be set into beam blocker mode; south jaw in horizontal mode, east or west jaws in vertical sample mode. In this state the beam blocked jaws will move independently of the slit centre using S3S and S3N or S3W and S3W. They retain the natural jaw directions so that positive is away from the centre of the jaw.

Components on the Bench

Components that are on the bench do not track the beam in the same way as normal components. They rely on the underlying bench to track the beam and then their positions are just relative to the bench. This will in effect look the same as if they were tracking the beam but they don't.

Blocks

Blocks that may be confusing:

  • Height: Distance from the sample centre of rotation to the sample. This is used to align the sample with the beam.
  • Height2: Distance between the beam and the centre of rotation; usually set a 0. This moves the course z stage tracking the beam.

Axes by operation mode

Below is an overview to explain which terms relate to each other in horizontal/vertical mode (differences highlighted):

Horizontal Mode

Sample Stack

Block Change Axis in REFL Parameter Name Motor Motor Name General term
Height POSITION SAMPOFFSET MTR0403 SS Low Z Coarse Height
Height2 HEIGHT SAMPHEIGHT MTR0404 SS High Z Fine Height
Sample_Changer - - MTR1001 Sample Changer Sample Changer
Trans TRANS TRANS MTR0405 SS Horizontal Trans
PHI ANGLE PHI MTR0406 SS Lower Gonio Phi
PSI PSI PSI MTR0407 SS Upper Gonio Psi
CHI CHI CHI MTR0408 SS Rotation Chi

Bench

Block Change Axis in REFL Parameter Name Motor Motor Name General term
BENCHOFFSET POSITION BENCHOFFSET MTR0801 / MTR0802 Bench Front Z/ Bench Rear Z Bench Height
BENCHANGLE ANGLE BENCHANGLE MTR0801 / MTR0802 Bench Front Z/ Bench Rear Z Bench Angle
BENCHSEESAW SEESAW BENCHSEESAW MTR0801 / MTR0802 Bench Front Z/ Bench Rear Z Bench Seesaw
BENCHCHI CHI BENCHCHI MTR0804 Bench Arc Bench Chi

Vertical Mode

Block Change Axis in REFL Parameter Name Motor Motor Name General term
Height POSITION SAMPOFFSET MTR0405 SS Horizontal Coarse Height
Height2 - - - - -
Sample_Changer - - - - -
Trans TRANS TRANS MTR0403 SS Low Z Trans
PHI ANGLE PHI MTR0408 SS Rotation Phi
PSI PSI PSI MTR0407 SS Upper Gonio Psi
CHI CHI CHI MTR0406 SS Lower Gonio Chi

Bench

Block Change Axis in REFL Parameter Name Motor Motor Name General term
BENCHTRANS TRANS BENCHTRANS MTR0801 / MTR0802 Bench Front Z/ Bench Rear Z Bench Height
BENCHCHI CHI BENCHCHI MTR0801 / MTR0802 Bench Front Z/ Bench Rear Z Bench Angle
BENCHSEESAW SEESAW BENCHSEESAW MTR0801 / MTR0802 Bench Front Z/ Bench Rear Z Bench Seesaw
BENCHANGLE CHI BENCHANGLE MTR0804 Bench Arc Bench Chi

Parameter Autosave

It is hard to know which parameters to autosave and which not to. Probably with use we will find out. I have gone with Theta and polariser angles are not autosaved all other heights and offsets are. So that when coming back from SECI the setpoints will mirror those in SECI quite closely. Other axis parameters, direct parameters and slits are not autosaved so they come back as they are, except for bench angle offset and seesaw which are autosaved.

Initial Testing

Testing results are here.

Issues were:

  1. On running the routine for transferring the SECI motor setups to IBEX, all the encoders were turned off. This may be a one off thing but still it should happen.
    • This was because I ran the original motor setup in sim mode. Yes this should not happen, I have added it to the information page so it won’t happen again.
  2. There was a request for a command in python for interrogating a motor e.g pos Phi and it tells you all sorts of things about phi like its position offset limits etc. that could then be used in a script.
    • We will probably never get to this if we put it on our list. I will send some details describing how you might create such a script let me know if you need help.
  3. There again also seemed to be an issue with High and low limits being the wrong way around as well as directions not being correct after the transfer.
    • For all axes on the spreadsheet I have confirmed that they are wrong in SECI; there is nothing we can do about this.
  4. Where Dual position was marked in the SECI motor table there were issues of odd behaviour in IBEX that will need fixing. This affects the PolREF current sheet.
  5. The major issue was that the IBEX setpoints were not transferred back to SECI when switching form IBEX back to SECI. The current positions were. This means that if someone reboots SECI and then presses move then the beamline will move unexpectedly. This is not good and needs a fix of some kind as it could lead to crash’s I know future wise we should all be in IBEX but for the next year I can see people switching back and forth,
    • I think that a script the user can run in OpenGenie is probably the best idea so that they have control over when they want they readbacks to be the same as the setpoint. Please read and approve 5648.
  6. Labels that were the wrong way around such as the laser Gimbal axes theta and chi. We swapped them but not necessarily in the config, Also for some reason the PolREF sample stage had phi and Psi the wrong way around and again I am not sure they were swapped to the correct position fully.
    • Gimbal is wrong in SECI
    • PSI and CHI was my mistake in the config the motors are gonio upper and lower and I guessed the wrong way round. Now fixed in config.
  7. Stop_ibex_server_start_seci does not finish. It starts seci but waits for SECI to finish, which is not what we want. Make it start in separate console.
  8. There was an error loading programs into SECI this has been fixed by combining programs in the galil.
  9. There is something wrong with the bench movement. We think that it is because it was not synced and the max bench angle had not been implemented. (Extra note we tried moving the bench but had problems so we then set the motion of the slide to not be synchronised, then reversed the slide but we never set synchronised on the movement again)
    • We should retest this after completing #5541
  10. Jaw 1 was synchronised and should not be (jaws in general are not synchronised to avoid clashing).
    • Changed in config
  11. Some errors in the logs for which I have created tickets
  12. Height and Height2 point at the same thing on the OPI
    • Corrected in master
  13. Check backlash on slits is ok, currently move is towards centre of slit them slowly out to position.
Clone this wiki locally