ISISComputingGroup / ISISComputingGroup/IBEX
When is a value "Stable" - implementing stability logic for IOCs/blocks/Pvs
- Dominant language
- No language data
- Stars
- 6
- Forks
- 2
- Avg merge
- 16h 40m
- Merged PRs (30d)
- 2
Description
This is a starter ticket for a discussion on implementing "stability" of values in IBEX, such as "is my temperature stable". The general idea is that depending on PID settings a value may oscillate about its setpoint for a while before settling down. Applying "run control" would stop data collection when out of range, but this is best used for values that might drift slowly out of range, if values are oscillating you would be continually doing a stop/start and collecting something that may not be what you want.
what is stable - typically this would mean "within some specified range for an unbroken timespan of ..." but there may be other appropriate calculations that could be applied to a range of recent values.
stability could be applied to PVs at the IOC level, but applying it to blocks (like we do for run control) may be most flexible. There is nothing to stop us adding it to select IOCs too.
Muons currently use a client side stability criteria when they initially ramp the temperature, but after that they collect regardless. So you may want to calculate stability without actually doing something additional, so a script could "waitfor stable" before doing a begin. Other poeple may want a future "unstable" to pause collection like run control does, or have the IOC do an initial stability calculation followed by normal run control when things settle down (this could be accomplished via a waitfor_stable plus normal run_control). Though using stability for stop/start for a whole run would work, if values are slowly drifting in and out rather than oscillating using a time based stability would discard more data that was likely OK.
can we use run control limits as stability limts, or do we need another set of limits?
stability calculations and other control loogic should be able to be handled by additional generated records loaded by the existing run control IOC.
This ticket is a meeting to discuss stability requirements and implementation details.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.