-
Notifications
You must be signed in to change notification settings - Fork 2
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
HIFI: Zerofield #8401
Comments
Possible to use existing IBEX implementation of zerofield system? Have discussion with muon scientists. |
JL, @iangillingham-stfc and I had a discussion. We should fundamentally be able to use our existing zero-field controller. The main differences are:
For avoidance of doubt, JL says the existing ZF sets zero field once on entry into zero field mode, but does not attempt to keep doing so continuously. He would prefer it if it could be done continuously in ibex though (which is exactly what the |
Going to put this back into ready as it's becoming very obvious I'm not going to get it completed before leave, having barely managed to make a start on it over the last couple of days... Tips for next person who picks this up
|
ISISComputingGroup/EPICS-DeviceEmulator@68f5747 is the cryosms emulator that will need to be restored from git in order to write tests for the hifi zf |
As a scientist using HIFI under IBEX I want to be able to view my corrected fields.
Acceptance Criteria
What is the acceptance criteria?
Extra Information
This is a spin off ticket from HIFI: IOC and OPI for Group 3 Hall Probe #6088 6088 and there is more detail in there of background
The Front panel of that VI is a messy starting point for the one here
The field readings will come from the Group 3 Hall Probe (Ticket HIFI: Group 3 Hall Probe #8400) IOC
The output values for the PSU Current Readback will come from the appropriate magnets which are served from the cryomagnet system
The coil inhomogenities field table is a matrix specified in an ini file at present, this may be achievable as macros, or other file system
The persistent gradients are an array specified in an ini file at present, this may be achievable as macros, or other file system
The logic to reach the required values is as follows:
Adjusted Fields = Array of field readings
Interim coil values (context for ease of understanding the next displayed items) = For each PSU: {Adjusted Fields = Adjusted Fields - (multiply each value in the appropriate column in the coil inhomogenities field table with the PSU current readback)}
Corrected for coils = Interim coil values + [x current, y current, z current, x current, y current, z current]
Persistent grad value = Interim Coil Values[4] - Interim Coil Values[1]
corrected for persistent fields (context value again) = Interim coil values - (persistent gradients*persistent grad value)
There is a "cleaner" VI Array Maths Example that may make this easier to understand, ask if access is needed, it is the repo for the old LabVIEW modules, and not available via GitHub
How to Test
verbose instructions for reviewer to test changes
(Add before making a PR)
Time in recording of planning meeting: 01h07m 2024/11/28
The text was updated successfully, but these errors were encountered: