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

Muon Zerofield System: Add check to Setpoint Readback from PSUs #7715

Closed
1 task
davidkeymer opened this issue May 2, 2023 · 5 comments
Closed
1 task

Muon Zerofield System: Add check to Setpoint Readback from PSUs #7715

davidkeymer opened this issue May 2, 2023 · 5 comments

Comments

@davidkeymer
Copy link
Contributor

davidkeymer commented May 2, 2023

As a developer, I would like the Zerofield IOC to make sure that it doesn't react to any invalid setpoints read from a power supply.

Acceptance Criterion

  • A 'sanity' check is present in the Zerofield code to ignore any invalid PSU setpoint readbacks

Extra Information

During zerofield testing on MuSR, occasional 'spikes' were seen on the X-field. These were caused by an invalid setpoint being read from its associated PSU (Kepco), a correction being added, and then sent back to the PSU as a new setpoint. This was outside the physical range of the device, which defaulted to maximum output which then subsequently saturated the magnetometer.

Related to #7716

How to Test

verbose instructions for reviewer to test changes
(Add before making a PR)

@FreddieAkeroyd
Copy link
Member

This may also be relevant #7719

@KathrynBaker
Copy link
Member

This needs to go into the same location as some other checks that values are sensible.

@esmith1729
Copy link
Contributor

esmith1729 commented May 12, 2023

PRs:

Added a new state "ZF_PSU_SP_RBV_OUT_OF_RANGE" and included checks for this out of range behaviour in the zero_field.st file and the corresponding .db for zerofield control.

  • Covers 6 different cases: above and below limits for x, y, and z
  • sets limits to 3 and -3
  • simulated rbv output of the psu at 10 or -10, depending on the case
  • this triggers the state "PSU is out of range"
  • Also added some code into _setUp to set all CA objects for x, y, and z's PSUs to 0, before assigning them any values (the test was failing in the setup phase because of this).

Other changes

@esmith1729
Copy link
Contributor

@esmith1729
Copy link
Contributor

#7812

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants