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  <20182019  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  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Questions about EPICS_PVA_ADDR_LIST
From: Mark Rivers <[email protected]>
To: 'Michael Davidsaver' <[email protected]>
Cc: tech-talk <[email protected]>
Date: Wed, 14 Nov 2018 14:52:52 +0000
Hi Michael,

Thanks for the tip.  Indeed my base-7.0 was at a commit from June 27, so it did not have the fix you referenced.

I just updated to the latest in all modules and the problem is fixed.  There are no more warnings during iocInit and pvinfo and pvget work without defining EPICS_PVA_ADDR_LIST.  I tested on Windows with VS 2015.

Feature request:
  pvget should have an option to limit the number of values printed, just as caget has the -# option.  I would like to run pvget on an ntndarray but just see the first 100 values of the image, for example.

Mark


-----Original Message-----
From: Michael Davidsaver <[email protected]> 
Sent: Tuesday, November 13, 2018 9:16 PM
To: Mark Rivers <[email protected]>
Cc: tech-talk <[email protected]>
Subject: Re: Questions about EPICS_PVA_ADDR_LIST

On 11/13/18 6:32 AM, Mark Rivers wrote:
> I was under the impression that no environment variables should need to be set in order for pvAccess to find PVs on the local subnet.  However, this does not seem to be working with base 7.0.x (master as of a few months ago).

How recent is recent?  Which revision?  Can you confirm that you have the fix for #110?

https://github.com/epics-base/pvAccessCPP/issues/110#issuecomment-401990536

Looks like #110 which was found/fixed back in July.

> 2018-11-13T08:12:23.358 No broadcast addresses found or specified - empty address list!


> By default on both my Linux and Windows systems no EPICS_PVA_* environment variables are set.
> 
>  
> 
> If I run the IOC on Linux then this is what I see with pvinfo from Windows:
> 
>  
> 
> C:\phoebus-0.0.1-win\phoebus-0.0.1>h:\epics\base\bin\windows-x64-stati
> c\pvinfo 13SIM1:Pva1:Image
> 
> 2018-11-13T08:12:23.358 No broadcast addresses found or specified - empty address list!
> 
> [13SIM1:Pva1:Image] failed to get channel introspection data
> 
>  
> 
> If I set EPICS_PVA_ADDR_LIST to the broadcast address of the subnet it works:
> 
>  
> 
> C:\phoebus-0.0.1-win\phoebus-0.0.1>set 
> EPICS_PVA_ADDR_LIST=164.54.160.255
> 
> C:\phoebus-0.0.1-win\phoebus-0.0.1>h:\epics\base\bin\windows-x64-stati
> c\pvinfo 13SIM1:Pva1:Image
> 
> CHANNEL  : 13SIM1:Pva1:Image
> 
> STATE    : CONNECTED
> 
> ADDRESS  : 164.54.160.82:59335
> 
> epics:nt/NTNDArray:1.0
> 
>     union value
> 
>         boolean[] booleanValue
> 
>         byte[] byteValue
> 
>         short[] shortValue
> 
>         int[] intValue
> 
>         long[] longValue
> 
>         ubyte[] ubyteValue
> 
>         ushort[] ushortValue
> 
>         uint[] uintValue
> 
>         ulong[] ulongValue
> 
>         float[] floatValue
> 
>         double[] doubleValue
> 
>  
> 
>  
> 
> If I run pvinfo on Linux where the IOC is running then it works without setting EPICS_PVA_ADDR_LIST.  Thus it at least finds PVs on localhost.
> 
>  
> 
> corvette:~/devel/areaDetector/ADSupport>printenv | grep EPICS_PVA
> 
> corvette:~/devel/areaDetector/ADSupport>/usr/local/epics/base-7.0.1/bi
> n/linux-x86_64/pvinfo 13SIM1:Pva1:Image
> 
> CHANNEL  : 13SIM1:Pva1:Image
> 
> STATE    : CONNECTED
> 
> ADDRESS  : 164.54.160.82:59335
> 
> epics:nt/NTNDArray:1.0
> 
>     union value
> 
>         boolean[] booleanValue
> 
>         byte[] byteValue
> 
>         short[] shortValue
> 
>         int[] intValue
> 
>         long[] longValue
> 
>         ubyte[] ubyteValue
> 
>         ushort[] ushortValue
> 
>         uint[] uintValue
> 
>         ulong[] ulongValue
> 
>         float[] floatValue
> 
>         double[] doubleValue
> 
>  
> 
>  
> 
> Now I run the IOC on Windows.
> 
>  
> 
> Running pvinfo on the local Windows machine:
> 
> If I undefine EPICS_PVA_ADDR_LIST it does not work.  Thus it does not even find PVs on localhost.
> 
>  
> 
> C:\phoebus-0.0.1-win\phoebus-0.0.1>set EPICS_PVA_ADDR_LIST=
> 
> C:\phoebus-0.0.1-win\phoebus-0.0.1>h:\epics\base\bin\windows-x64-stati
> c\pvinfo 13SIM1:Pva1:Image
> 
> 2018-11-13T08:20:24.858 No broadcast addresses found or specified - empty address list!
> 
> [13SIM1:Pva1:Image] failed to get channel introspection data
> 
>  
> 
> If I define EPICS_PVA_ADDR_LIST it works fine.
> 
> C:\phoebus-0.0.1-win\phoebus-0.0.1>set 
> EPICS_PVA_ADDR_LIST=164.54.160.255
> 
> C:\phoebus-0.0.1-win\phoebus-0.0.1>h:\epics\base\bin\windows-x64-stati
> c\pvinfo 13SIM1:Pva1:Image
> 
> CHANNEL  : 13SIM1:Pva1:Image
> 
> STATE    : CONNECTED
> 
> ADDRESS  : 164.54.160.15:5075
> 
> epics:nt/NTNDArray:1.0
> 
>     union value
> 
>         boolean[] booleanValue
> 
>         byte[] byteValue
> 
>         short[] shortValue
> 
>         int[] intValue
> 
>         long[] longValue
> 
>         ubyte[] ubyteValue
> 
>         ushort[] ushortValue
> 
>         uint[] uintValue
> 
>         ulong[] ulongValue
> 
>         float[] floatValue
> 
>         double[] doubleValue
> 
>  
> 
>  
> 
>  
> 
> Running pvinfo on Linux it works fine without defining EPICS_PVA_ADDR_LIST.
> 
>  
> 
> corvette:~/devel/areaDetector/ADSupport>printenv | grep EPICS_PVA
> 
> corvette:~/devel/areaDetector/ADSupport>/usr/local/epics/base-7.0.1/bi
> n/linux-x86_64/pvinfo 13SIM1:Pva1:Image
> 
> CHANNEL  : 13SIM1:Pva1:Image
> 
> STATE    : CONNECTED
> 
> ADDRESS  : 164.54.160.15:5075
> 
> epics:nt/NTNDArray:1.0
> 
>     union value
> 
>         boolean[] booleanValue
> 
>         byte[] byteValue
> 
>         short[] shortValue
> 
>         int[] intValue
> 
>         long[] longValue
> 
>         ubyte[] ubyteValue
> 
>         ushort[] ushortValue
> 
>         uint[] uintValue
> 
>         ulong[] ulongValue
> 
>         float[] floatValue
> 
>         double[] doubleValue
> 
>  
> 
> So it appears that I need to set EPICS_PVA_ADDR_LIST on Windows for pvinfo or pvget to work.
> 
>  
> 
> However, when I run phoebus (the new version of CSS) I can display that PV fine even without setting EPICS_PVA_ADDR_LIST.
> 
>  
> 
> Mark
> 
>  
> 


References:
Questions about EPICS_PVA_ADDR_LIST Mark Rivers
Re: Questions about EPICS_PVA_ADDR_LIST Michael Davidsaver

Navigate by Date:
Prev: Re: streamDevice redirection-to-records & PVs that start with a number Dirk Zimoch
Next: Re: streamDevice redirection-to-records & PVs that start with a number Peterson, Kevin M. 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  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Questions about EPICS_PVA_ADDR_LIST Michael Davidsaver
Next: streamDevice redirection-to-records & PVs that start with a number Peterson, Kevin M. 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  <20182019  2020  2021  2022  2023  2024 
ANJ, 14 Nov 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·