Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Soak testing energy changes #277

Open
DominicOram opened this issue Feb 29, 2024 · 3 comments
Open

Soak testing energy changes #277

DominicOram opened this issue Feb 29, 2024 · 3 comments
Assignees
Labels

Comments

@DominicOram
Copy link
Contributor

We now have energy changing code in Hyperion. However, it has not been regularly tested on the beamline. We should test it with a number of collections moving back and forth between energies. Then once we are confident leave it on for @neil-i03 to be confident.

Acceptance Criteria

  • We're confident in setting energy in Hyperion
  • Neil is confident in switching this on/off
@DominicOram DominicOram transferred this issue from DiamondLightSource/hyperion Sep 2, 2024
@DominicOram
Copy link
Contributor Author

Do this early next week

@DominicOram
Copy link
Contributor Author

DominicOram commented Sep 23, 2024

  • The XBPM/transmission wrapper logs that it is changing for a collection, it's not, it's changing for an energy change
  • Energy change at 14:12 12kev -> 8kev. Should have changed pitch to ~0.707 mrad but didn't. The issue here was that we were trying to take the bragg angle for the lookup tables from the PV but the PV was not yet updated. Instead we have to calculate it ourselves. It is probably worth talking to controls about whether we can get the calculation in one place - Energy Changes: Calculate the bragg angle ourselves #520
  • Issue timing out on voltage sets:
Traceback (most recent call last):
  File "/dls_sw/i03/software/bluesky/hyperion_v9.5.2/dodal/src/dodal/devices/focusing_mirror.py", line 88, in set
    await setpoint_v.set(value)
  File "/dls_sw/i03/software/bluesky/hyperion_v9.5.2/hyperion/.venv/lib/python3.11/site-packages/ophyd_async/core/signal.py", line 239, in do_set
    await self._backend.put(value, wait=wait, timeout=timeout)
  File "/dls_sw/i03/software/bluesky/hyperion_v9.5.2/hyperion/.venv/lib/python3.11/site-packages/ophyd_async/epics/_backend/_aioca.py", line 286, in put
    await caput(
  File "/dls_sw/i03/software/bluesky/hyperion_v9.5.2/hyperion/.venv/lib/python3.11/site-packages/aioca/_catools.py", line 126, in call_wrapper
    return await throw_wrapper(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/dls_sw/i03/software/bluesky/hyperion_v9.5.2/hyperion/.venv/lib/python3.11/site-packages/aioca/_catools.py", line 108, in throw_wrapper
    return await awaitable
           ^^^^^^^^^^^^^^^
  File "/dls_sw/i03/software/bluesky/hyperion_v9.5.2/hyperion/.venv/lib/python3.11/site-packages/aioca/_catools.py", line 156, in ca_timeout
    raise CANothing(name, cadef.ECA_TIMEOUT) from e
aioca._catools.CANothing: BL03I-MO-PSU-01:BM:V21D: User specified timeout on IO operation expired

Fixed by specifying the setpoint timeout explicitly setpoint_v.set(value, timeout=DEFAULT_SETTLE_TIME_S) and upping the timeout to 120s - fixed in DiamondLightSource/dodal#800 by moving the wait for the set to finish until after the readbacks have come back correctly

    setpoint = lookup_table(input)
               ^^^^^^^^^^^^^^^^^^^
  File "/dls_sw/i03/software/bluesky/hyperion_v9.5.2/dodal/src/dodal/devices/util/lookup_tables.py", line 58, in s_to_t2
    raise ValueError(
ValueError: Lookup table does not support extrapolation from file /dls_sw/i03/software/daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt, s=19.244267647056205
  • Issue with robot load timing out sometimes when energy changes are happening - needs further investigation

@DominicOram
Copy link
Contributor Author

Added a property to GDA of gda.mx.hyperion.set_energy.enabled, this needs pushing into gerrit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Blocked
Development

No branches or pull requests

1 participant