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: | Questions about EPICS_PVA_ADDR_LIST |
From: | Mark Rivers <[email protected]> |
To: | tech-talk <[email protected]> |
Date: | Tue, 13 Nov 2018 14:32:03 +0000 |
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 |