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 <2023> 2024 2025 | 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 <2023> 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: [External] Re: Phoebus Increased Slider Sensitivity? |
From: | "Leblanc, Gregory via Tech-talk" <tech-talk at aps.anl.gov> |
To: | Tynan Ford <TFord at lbl.gov> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Fri, 30 Jun 2023 21:41:38 +0000 |
Hi Tynan, That sounds like exactly what I’m trying to do! Since it worked for you, I went ahead and tried it again. I created a record in my database (though I guess local PVs would work): record(ao, "$(P)$(R):AmplitudeMax") { field(DESC, "Slider Maximum Amplitude") field(VAL, "50") } And I have this widget in my .bob file: <widget type="scaledslider" version="2.0.0"> <name>Scaled_Slider_Current</name> <pv_name>ca://PCU50_300test:Amplitude</pv_name> <x>41</x> <y>320</y> <width>540</width> <height>60</height> <show_hihi>false</show_hihi> <show_high>false</show_high> <show_low>false</show_low> <show_lolo>false</show_lolo> <increment>0.001</increment> <minimum></minimum> <maximum>ca://PCU50_300test:AmplitudeMax</maximum> <limits_from_pv>false</limits_from_pv> </widget> When I check out the error log I see: 2023-06-30 17:39:03 WARNING [org.csstudio.display.builder.model] Widget 'Scaled_Slider_Current' (scaledslider) property maximum cannot evaluate 'ca://PCU50_300test:AmplitudeMax' Followed by a bunch of other related info. I don’t have pva working on this IOC at the moment, but it looks to me like it’s processing that as text rather than evaluating it. Probably some kind of syntax error on my end. Greg From: Tynan Ford <TFord at lbl.gov> Use caution with links and attachments. 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:
|