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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: pyepcis does not seem to honor EPICS_CA_ADDR_LIST |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | "Koennecke Mark (PSI)" <mark.koennecke at psi.ch> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Thu, 22 Jul 2021 12:23:37 +0000 |
Hi Matt, > I set an appropriate EPICS_CA_ADDR_LIST like: export EPICS_CA_ADDR_LIST="hipa-cagw:5062:localhost“ That syntax looks wrong to me. The entries in EPICS_CA_ADDR_LIST should be separated by spaces, so it should be "hipa-cagw:5062 localhost“ I just tested using EPICS_CA_ADDR_LIST with pyepics on rhel7 and it worked fine. My RHEL7 machine is on subnet 164.54.160.*. There are 2 PVs 13IDA:m1 This is on the same 164.54.160.* subnet as the Linux machine 15IDA:m1 This is on a different subnet 164.54.162.* Here I set EPICS_CA_ADDR_LIST to only be the local subnet >setenv EPICS_CA_ADDR_LIST "164.54.160.255" EPICS base caget can reach 13IDA:m1 but not 15IDA:m1 >caget 13IDA:m1 13IDA:m1 -0.25 >caget 15IDA:m1 Channel connect timed out: '15IDA:m1' not found. The same is true for Python >>> import epics >>> epics.caget('13IDA:m1') -0.2500000000000009 >>> epics.caget('15IDA:m1') cannot connect to 15IDA:m1 Now I set EPICS_CA_ADDR_LIST to also include the broadcast address of the remote 164.54.162.* network. >setenv EPICS_CA_ADDR_LIST "164.54.160.255 164.54.162.255" Now EPICS base caget can also reach 15IDA:m1. >caget 13IDA:m1 13IDA:m1 -0.25 >caget 15IDA:m1 15IDA:m1 1.688e-05 And so can Python >>> import epics >>> epics.caget('13IDA:m1') -0.2500000000000009 >>> epics.caget('15IDA:m1') 1.6879999999996897e-05 So I conclude that pyepics is handling EPICS_CA_ADDR_LIST fine. This makes sense, because it is just using the C Channel Access library from base. Mark From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Koennecke
Mark (PSI) via Tech-talk <tech-talk at aps.anl.gov> Hi, |