EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024 
<== Date ==> <== Thread ==>

Subject: Re: Phoebus Increased Slider Sensitivity?
From: Tynan Ford via Tech-talk <tech-talk at aps.anl.gov>
To: "Leblanc, Gregory" <leblanc at ohio.edu>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Thu, 29 Jun 2023 17:06:02 -0700
Hi Greg,

We recently migrated our injector tuning applications from an in-house C# app to Phoebus and we had success with that. One difference is that our operators are using physical knobs with USB connections that map to keystrokes. So they never are actually clicking on the slider widget. Arrow key presses once the slider is in focus should work better for you than dragging the slider but that can be cumbersome.

The reason I write to you though is that we dynamically assign the PV name, Maximum, Minimum, and Increment properties for the Scaled Slider widget. Check to make sure you uncheck the "Limits from PV" property on the slider widget.

Our injector tuning screen contains a bunch of Phoebus Action buttons, one for each magnet. Each button has 4 macros: CNTL_PV, MAX, MIN, GAIN. When a button is clicked, it assigns that specific magnet PV to the scaled slider. And it also writes the MAX, MIN, GAIN macro values to corresponding PVs. Then the Scaled Slider widget has rules to change the corresponding properties. For instance: whenever the Gain PV changes, use the new value for the Increment property. When the Min PV changes, update the slider Minimum property, etc. 

There are also two action buttons next to the scaled slider where the operator can manually change the Gain PV value up or down by an order of magnitude. That lets them fine tune things. The trick is that the Gain PV adjusts the sensitivity of the USB knob which is handled through a little custom "driver".

Best
Tynan

On Thu, Jun 29, 2023 at 1:56 PM Leblanc, Gregory via Tech-talk <tech-talk at aps.anl.gov> wrote:
Hi,

I'm still sorting out the best way to control the magnets that we use to steer the particle beam through our beamlines.  I like the slider control because it mimics our current operation, and it feels intuitive when tuning beam.  Our existing control software allows operators to drag slider to a desired current for setting the current to the coarsest value.  The controls also have buttons that allow the user to select progressively finer controls allowing very precise tuning of the magnet parameters.  The "FINE" button affects the controls operation in 2 ways.  First, it adjusts the step size that the current moves when the operator single-clicks within the slider.  On the 0 to 50 slider, it moves 0.625 per click in coarse, 0.15 in medium, 0.04 in fine, 0.01 in extra fine, and 0.0025 in super fine.  Second, it adjusts the speed which the slider moves when the mouse is dragged within the slider area.  That is, the mouse position is de-coupled from the slider indicator on all the scales below coarse.  The operator might drag the cursor 50mm on the screen, but the slider indicator might only move 1 mm. 

I don't think there is a way to accomplish this exact behavior using Phoebus, which is OK if I can find another solution.

My first attempt was to make the limits of the scaled slider dynamic, and to have them pull their value from another element in the HMI, or from another PV.  Everything I tried had the slider back to the 0-100 scale, so I'm assuming that those can't be set on the fly.  The next thought I had was to add a choice button over the top of the slider and split the slider into 5-ish sub-sections.  Divide 250A down to 50A, then 50A down to 10A, and see if that gets me enough resolution to set the magnet.  I think this might work, but I'm not totally happy with it (plus I can't find documentation on how to use choice button to launch additional displays). 

TL; DR:  How do you control PVs that have a large overall range but need the ability to change by very fine increments?
     Greg

--
Gregory Leblanc
Accelerator Engineer
Edwards Accelerator Lab - Ohio University
123 University Terrace
Athens, OH 45701 USA
leblanc at ohio.edu
M: (401) 52-OUAL1 or (401) 526-8251


Replies:
RE: [External] Re: Phoebus Increased Slider Sensitivity? Leblanc, Gregory via Tech-talk
References:
Phoebus Increased Slider Sensitivity? Leblanc, Gregory via Tech-talk

Navigate by Date:
Prev: Re: Tech-talk Digest, Vol 17, Issue 351 Lee L. Yang via Tech-talk
Next: Re: Question about fetching history data from MySQL by using phoebus neu lzf via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024 
Navigate by Thread:
Prev: Phoebus Increased Slider Sensitivity? Leblanc, Gregory via Tech-talk
Next: RE: [External] Re: Phoebus Increased Slider Sensitivity? Leblanc, Gregory via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024 
ANJ, 30 Jun 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·