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  <20222023  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  <20222023  2024 
<== Date ==> <== Thread ==>

Subject: Re: PyEpics: Cannot connect to DEVICE
From: Matt Newville via Tech-talk <tech-talk at aps.anl.gov>
To: Thomas Feggeler <tfeggeler at lbl.gov>
Cc: EPICS Tech Talk <tech-talk at aps.anl.gov>
Date: Thu, 9 Jun 2022 14:15:21 -0500
Hi Thomas, 

Sorry for the trouble.  Are you sure that it is necessary to set the EPICS_CA* environment variables in the Python script, or are those already set in the environment running your Python and PyCharm apps?    What are these variables set to when running the command-line interface in a Terminal shell?

It should be that
   C:>. caget PVNAME
and 
   C:> python -c "import epics ; print(epics.caget('PVNAME'))"
give the same result - the Python interpreter should inherit whatever EPICS_CA ADDR settings you have for the shell.  If that works, then try:

   C:> printenv

and grep (either with Posix commands or by hand) for EPICS_CA_ADDR.   

--Matt

On Thu, Jun 9, 2022 at 10:28 AM Thomas Feggeler via Tech-talk <tech-talk at aps.anl.gov> wrote:
Dear colleagues,

We have a new computer installation (Windows 10) with epics 7.0.4, python 3.6.4. When I try to connect with caget() directly over the command line to access a device, e.g.

Caget XXXX:XXXX:firmwarebuilddate

It immediately works.

When using pyepics over pycharm, or the python interpreter, the message „cannot connect to DEVICE“ is given out.

The Windows path variables are set, EPICS_CA_ADDR_LIST is set and imported into the pycharm environment.

In both pycharm and python console if I do the following:

import epics
import os
from epics import PV, caget, caput, cainfo
os.environ['EPICS_CA_ADDR_LIST'] = 'XXX.XXX.XXX.XXX'
os.environ['EPICS_CA_AUTO_ADDR_LIST'] = 'NO'
print(caget('XXXX:XXXX:firmwarebuilddate'))

The same error occurs.

I’d kindly ask for your help.

Thank you

Kind wishes

Thomas














References:
PyEpics: Cannot connect to DEVICE Thomas Feggeler via Tech-talk

Navigate by Date:
Prev: RE: Removing battery/crystal from MVME 5100 Stone, Eric D via Tech-talk
Next: Re: Removing battery/crystal from MVME 5100 Maren Purves 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  <20222023  2024 
Navigate by Thread:
Prev: RE: PyEpics: Cannot connect to DEVICE Mark Rivers via Tech-talk
Next: Questions for epics 7 PVs: PV list with normative type Kim, Kukhee 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  <20222023  2024 
ANJ, 14 Sep 2022 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·