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: timestampField not retrieved using CA provider for pvac::ClientChannel |
From: | "Veseli, Sinisa via Tech-talk" <tech-talk at aps.anl.gov> |
To: | "Bisegni, Claudio" <bisegni at slac.stanford.edu>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Fri, 5 May 2023 18:05:15 +0000 |
Hi,
I am not sure I understand what is going on. Perhaps you could include your code so we can see what exactly you are trying to do?
Also, if you'd like to get all fields, the string 'field()' or just empty string '' should work:
>>> print(c.get('field()'))
epics:nt/NTEnum:1.0
enum_t value
int index 0
string[] choices [Off, On]
alarm_t alarm
int severity 0
int status 0
string message
time_t timeStamp
long secondsPastEpoch 1683129086
int nanoseconds 834120910
int userTag 0
--
Siniša Veseli
Scientific Software Engineering & Data Management
Advanced Photon Source
Argonne National Laboratory
sveseli at anl.gov
(630)252-9182From: Bisegni, Claudio <bisegni at slac.stanford.edu>
Sent: Friday, May 5, 2023 12:56 PM To: Veseli, Sinisa <sveseli at anl.gov>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov> Subject: Re: timestampField not retrieved using CA provider for pvac::ClientChannel I tried to set request field as: pvd::createRequest("field(value, timeStamp, alarm, display, control, valueAlarm) but I didn’t get the timeStamp Field in PVStructure. The request field work well for all other (for CA provider) for the PVA provider, instead, I always got every field also if I put only “filed(value)” in the request.
I’m wrong somenting….
Claudio
From:
Bisegni, Claudio <bisegni at slac.stanford.edu> Hi, Thank you for yor help, is effect on get operation I use the default request, so Iat this point I need to use pvd::createRequest("field(value, timeStamp, alarm, display, control, valueAlarm)")); to retrieve all field
I’ll give a try!
Thank you very much.
Claudio From:
Veseli, Sinisa <sveseli at anl.gov> Hi,
I am not sure exactly why is there a difference in behavior between caget and pvget, but you should be able to get timestamps if you request them explicitly:
$ caget -a S01-DAQTBT:Strm:DataCaptureC S01-DAQTBT:Strm:DataCaptureC 2023-05-03 10:51:26.834121 Off
PV request string like field(value,timeStamp) should work from C++:
>>> from pvapy import * >>> c = Channel('S01-DAQTBT:Strm:DataCaptureC', CA) >>> print(c.get('field(value,timeStamp)')) epics:nt/NTEnum:1.0 enum_t value int index 0 string[] choices [Off, On] time_t timeStamp long secondsPastEpoch 1683129086 int nanoseconds 834120910 int userTag 0
Hope this helps,
Sinisa
-- Siniša Veseli Scientific Software Engineering & Data Management Advanced Photon Source Argonne National Laboratory sveseli at anl.gov (630)252-9182 From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Bisegni, Claudio via Tech-talk <tech-talk at aps.anl.gov>
Hello EPICS tech, I'm working with last epics release and I have notice that making a get operation for an IOC using a CA provider for crete a pvac::ClientChannel I don't receive the timestamp field:
I noticed that also the official caget has the problem:
developer@e058f4bc2090:/workspace$ pvget variable:sum variable:sum 2023-05-05 16:34:54.607 3 developer@e058f4bc2090:/workspace$ caget variable:sum variable:sum 3
so is a client library problem or a server or something else?
Thank
you in advance. Claudio |