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-----
From: keith.thorne [mailto:[email protected]]
Sent: Tuesday, September 12, 2017 1:34 PM
To: Mark Rivers
Cc: EPICS mailing list
Subject: Re: MEDM display of string records not updating from PCASpy/PyEpics
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