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: Michael Davidsaver <[email protected]>
To: Mark Rivers <[email protected]>, tech-talk <[email protected]>
Date: Tue, 13 Nov 2018 19:21:36 -0800
On 11/13/18 6:53 AM, Mark Rivers wrote:
>> However, when I run phoebus (the new version of CSS) I can display that PV fine even without setting EPICS_PVA_ADDR_LIST.
> 
> 
> Just to clarify, I mean phoebus running on Windows finds the PV fine on either Windows or Linux IOCs without setting EPICS_PVA_ADDR_LIST.
> 
> Kay just pointed out the following:
>> The Java and C++ implementation of the PVA client must differ in that way.
> 
> I think he is probably correct.

Even excepting bugs. In this particular area this is certainly the case.  Network
interface inspection in heavily platform specific.  One persistent annoyance is
that fact the the Java interface for this conflates the UP and RUNNING flags.
So Java CA and PVA clients will not discover interfaces which are UP, but not
RUNNING.  aka. configured, but unplugged.


> Mark
> 
> 
> 
> ________________________________
> From: [email protected] <[email protected]> on behalf of Mark Rivers <[email protected]>
> Sent: Tuesday, November 13, 2018 8:32 AM
> To: tech-talk
> Subject: Questions about EPICS_PVA_ADDR_LIST
> 
> 
> 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).
> 
> 
> 
> 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-static\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-static\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/bin/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-static\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-static\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/bin/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 Mark Rivers

Navigate by Date:
Prev: Re: Questions about EPICS_PVA_ADDR_LIST Michael Davidsaver
Next: Re: streamDevice redirection-to-records & PVs that start with a number Dirk Zimoch
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 Mark Rivers
Next: Re: Questions about EPICS_PVA_ADDR_LIST Michael Davidsaver
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 ·