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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: MEDM display of string records not updating from PCASpy/PyEpics |
From: | Mark Rivers <[email protected]> |
To: | 'keith.thorne' <[email protected]> |
Cc: | EPICS mailing list <[email protected]> |
Date: | Tue, 12 Sep 2017 19:36:44 +0000 |
Hi Keith, There is a big difference between setting the medm Format=decimal vs Format=string. Here is a screen shot of an medm screen I just created. The blue text widgets are both looking at the same PV, but the upper one has Format=string, the lower one has Format=decimal. This is important with long strings, i.e. those in
waveform records in a normal IOC. There is a difference in the adl file for these 2 widgets. Note format="string" in the second one. "text update" { object { x=155 y=53 width=300 height=20 } monitor { chan="13BMC-PIL:netCDF1:FilePath_RBV" clr=53 bclr=4 } limits { } } "text update" { object { x=155 y=28 width=300 height=20 } monitor { chan="13BMC-PIL:netCDF1:FilePath_RBV" clr=53 bclr=4 } format="string" limits { } } Mark -----Original Message----- Dear Mark The cainfo looks fine, with “Native data type: DBF_STRING” and “Request type: DBR_STRING”. command-line caget comes backs with a string. Of course, the MEDM text monitor says Format “decimal’. I tried to use the MEDM editor to save it as “string" but see no change in the underlying *.adl file.
But according to the MEDM manual, it will always think it is a number, even for ‘string’. These strings are typically longer than a numeric field (up to 40 characters), so I guess it puts out 00.00 as ‘exponential’ notation when there are too many characters? So, what is the way to display string fields for a PV in MEDM?
Thanks Keith > On Sep 12, 2017, at 12:21 PM, Mark Rivers <[email protected]> wrote: > > Hi Keith, > > Some questions: > > - What does command line cainfo say about that PV? > - What does command line caget show for that PV? > - In your medm display what "Format" have you selected for the text update widget, e.g. "decimal", "string", etc.? > > Mark > > > -----Original Message----- > From: [email protected] [mailto:[email protected]]
On Behalf Of keith.thorne > Sent: Tuesday, September 12, 2017 11:52 AM > To: EPICS mailing list > Subject: MEDM display of string records not updating from PCASpy/PyEpics > > Dear all > > We have an odd behavior here with a continuously-running MEDM display. > > In most cases, where the EPICS IOC is running in C or similar, the MEDM displays of string variables happily update when the underlying PV is updated. > > However, we have a simple EPICS database that is done with PCASpy. We then use a pyEpics client to regularly update records in the EPICS database using pvPut(). > > The updated numeric records all work fine. However, the string records (when updated) appear as 00.00 or similar in the MEDM display. > If we open a new MEDM display, the correct value is shown. If we slightly resize the MEDM display, it also updates. > > Any idea what is going on? > Is there something in the PCASpy database record fields we need to set to make this work? > > - Using command-line caput() we get updated values. > > — I was going to try an MEDM->caQtDM conversion to see if we get any different behavior. > > Thanks > Keith Thorne > > ------ > Keith Thorne <[email protected]> > CDS Software Engineer > LIGO Livingston Laboratory > Livingston, LA 70754 > Phone: (225)686-3168 Fax: (225)686-7189 > ------ Keith Thorne <[email protected]> CDS Software Engineer LIGO Livingston Laboratory Livingston, LA 70754 Phone: (225)686-3168 Fax: (225)686-7189 |