ISISComputingGroup / ISISComputingGroup/IBEX

When is a value "Stable" - implementing stability logic for IOCs/blocks/Pvs

Aperta
#3,149 16 commenti 0 reazioni 0 assegnatari Vedi su GitHub
re-requested
Lingua principale
Nessun dato sulla lingua
Stelle
6
Fork
2
Merge medio
16h 40m
PR unite (30g)
2

Descrizione

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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Questa issue è una discussione sui requisiti di stabilità e sui dettagli di implementazione, piuttosto che una modifica con ambito definito. Inizia esaminando il run control IOC esistente e i relativi records generati, quindi chiarisci se la stabilità si applica a PVs, blocchi o IOCs selezionati e se riutilizza i run-control limits. Il lavoro è completato quando sono stati concordati il design e l'ambito dell'implementazione, identificando entry point concreti e criteri di accettazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Ambito
backend
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.