EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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  <2026 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  <2026
<== Date ==> <== Thread ==>

Subject: pvget, pvxget and pvxs interoperability and differences
From: "Gotz, Malte via Tech-talk" <tech-talk at aps.anl.gov>
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Wed, 11 Mar 2026 11:33:40 +0000

Hi tech-talkers,

 

in using QSRV2 from pvxs I encountered several unexpected (for me) differences between pvget and pvxget.

I created a pva group in an IOC database as an NTTable. I'll use the example from the PVXS documentation as a minimal example (see here: https://epics-base.github.io/pvxs/qgroup.html#database-listing).

I used EPICS Base 7.0.10 and PVXS 1.5.1 to create a minimal IOC, with only base and pvxs.

 

I want to read only a single column from the table like:

pvxget -r "value.A" TST:Tbl

 

This works with pvxget, but not with pvget. Using pvget I simply get:

TST:Tbl <undefined>

A B

 

Is that expected behavior, did I miss some configuration or this a bug? If it is a bug, where should this be raised first?

 

Less critical, when constructing more complex requests, like selecting multiple columns from a single table, the syntax between the two differs. Is that intended?

For example:

pvget -r "field(value{LMT_l,LTM_h}) BPMZ1D1R:signals:sa:pva

 

works, same thing with pvxget gives me "Error: invalid character near: {LMT_l,LTM_h})"

Conversely, a working request for pvxget is

pvxget -r "field(value.LMT_l,value.LTM_h)" BPMZ1D1R:signals:sa:pva

 

When doing the same with pvget, it complains: "failed to parse request string: Can't construct Structure, duplicate fieldName value"

 

I was under the impression that pvxs is the more forward-looking implementation and one could/should use it in an IOC. While for the command line tools pvAccessCPP is the recommend way (at least it says so in the pvxs documentation). How are others handling this and what could I do to resolve these issues?

Cheers,

Malte

 

 

--------------

Dr. Malte Gotz

Phone: +49 030 8062 15808

 

Accelerator Operation  - Control System Group

(BE-IA-AOT/ACS)

Helmholtz-Zentrum Berlin für Materialien und Energie GmbH

 

Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V.

 

Aufsichtsrat: Vorsitzender Michael Zimmermann, stv. Vorsitzende Dr. Jutta Koch-Unterseher

Geschäftsführung: Prof. Dr. Bernd Rech, Saskia Vormfelde

 

Sitz Berlin, AG Charlottenburg, 89 HRB 5583

 

Postadresse:

Hahn-Meitner-Platz 1

14109 Berlin

Deutschland

 

Attachment: smime.p7s
Description: S/MIME cryptographic signature


Replies:
Re: pvget, pvxget and pvxs interoperability and differences Michael Davidsaver via Tech-talk

Navigate by Date:
Prev: CAMAC Bob Dalesio via Tech-talk
Next: Re: pvget, pvxget and pvxs interoperability and differences Michael Davidsaver via Tech-talk
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  <2026
Navigate by Thread:
Prev: CAMAC Bob Dalesio via Tech-talk
Next: Re: pvget, pvxget and pvxs interoperability and differences Michael Davidsaver via Tech-talk
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  <2026
ANJ, 19 Mar 2026 · Home · News · About · Talk · Base · Modules · Extensions ·
· Distributions · Download · Documents · Links · Licensing ·