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: Support module for PV pre-defined values |
From: | "Pueyos, Armando \(DLSLtd, RAL, LSCI\) via Tech-talk" <tech-talk at aps.anl.gov> |
To: | Mark Rivers <rivers at cars.uchicago.edu>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Thu, 4 May 2023 13:56:22 +0000 |
Hi Mark,
Thanks, that's a similar approach. However, it's quite basic as I'm looking for a support module that can be configured in different ways, and allow users to re-define their own positions through some interface. Going for more than 16 positions and more than
1 PV updated would be nice.
FYI, existing Diamond's positioner module does use an MBBO, but also has added functionality like asynchonous callback wait, and a position indication where the current position is the desired one.
If nobody already implemented such thing, I am willing to give it a try and implement it.
Cheers,
Armando
From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: 04 May 2023 13:21 To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>; Pueyos, Armando (DLSLtd,RAL,LSCI) <armando.pueyos at diamond.ac.uk> Subject: Re: Support module for PV pre-defined values
Hi Armando,
This is a simple database we use for a filter rack. It is just an mbbo record where the XXST fields are the description of each filter, and the XXVL fields are the motor position. When the user selects a filter the mbbo forward links to an ao record that
moves the motor. Since the XXVL files are limited to integers this version can only move to integer mm in this case. One could change them to micron units for sub-mm precision. That would need a calc record on the output to scale back to mm.
# This is a database for the 13-BM-D filter rack
# An MBBO record which provides the menu and motor positions
record(mbbo,"$(P)$(R)Select") {
field(ZRVL,"90")
field(ZRST,"None")
field(ONVL,"62")
field(ONST,"1 mm Cu")
field(TWVL,"55")
field(TWST,"0.5 mm Cu")
field(THVL,"33")
field(THST,"4 mm Al")
field(FRVL,"25")
field(FRST,"2 mm Al")
field(FVVL,"3")
field(FVST,"1mm Al + 0.25 Cu")
field(SXVL,"-5")
field(SXST,"1 mm Al")
field(FLNK,"$(P)$(R)Move PP MS")
}
record(ao,"$(P)$(R)Move") {
field(DOL,"$(P)$(R)Select.RVAL NPP NMS")
field(OMSL,"closed_loop")
field(OUT,"$(P)$(MOTOR).VAL PP MS")
Is this what you are looking for?
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Pueyos, Armando (DLSLtd, RAL, LSCI) via Tech-talk <tech-talk at aps.anl.gov>
Sent: Thursday, May 4, 2023 5:46 AM To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov> Subject: Support module for PV pre-defined values
Hello all,
I am trying to find some support module that would allow to store some values and apply these to at least 1 PV from an enum. The idea is to allow end users to defining pre-selected values and apply these to a configured PV or group of PVs on demand. Ideally,
something independent of the motor record that can be applied to any existing PV.
As an example, let's imagine a motor-controlled multi-filter with specific positions for each one (e.g. Cu=0, Si=50, Pt=80): the user can drive it to any value within range using a motor record, but also can comfortably select one the positions and command
the motion to any of the specific values -- in the example, when selecting "Pt" the motor is commanded to value=80.
FYI, at Diamond we do have a similar one called simply "positioner", but it's quite complex and old for proper maintainability, and thus I am looking for a substitute.
Does anyone know about or have already implemented EPICS support for something like that? Please let me know, any help would be much appreciated.
Many thanks,
Armando Pueyos
--
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt
by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail.
-- This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. |