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  <20142015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: RE: how to know which PVs write to a PV
From: "Hu, Yong" <yhu@bnl.gov>
To: Ralph Lange <ralph.lange@gmx.de>, EPICS Tech-Talk <tech-talk@aps.anl.gov>
Date: Wed, 21 May 2014 14:53:55 +0000
Hi Ge,

If you are using Debian, there is a package for caputLog at NSLS-II Debian repository: http://epics.nsls2.bnl.gov/debian/

As Ralph pointed out, database link writing between records is difficult to log and not logged by caputLog. These commands might be useful for you to find out which PV(s) is (are) linked to your egun-enabe PV through database link or database Channel Access link: dblsr egun-enabe-PV 2 or dbcar egun-enabe-PV 2

The database Channel Access link/writing between records in the same IOC is also logged by caputLog. As its name says, caputLog logs all Channel Access put, including the 'put' from the same IOC via database CA link and the 'put' from outside the IOC world.

HTH,

Yong

________________________________________
From: tech-talk-bounces@aps.anl.gov [tech-talk-bounces@aps.anl.gov] on behalf of Ralph Lange [ralph.lange@gmx.de]
Sent: Wednesday, May 21, 2014 5:16 AM
To: EPICS Tech-Talk
Subject: Re: how to know which PVs write to a PV

On 21/05/2014 10:54, LEI Ge wrote:
> Hi, all,
>
> This week we met a problem, a PV's value should be 1 (to enable our e-gun trigger), but sometimes it becomes 0 unexpectedly. I checked the software logic I can remember to this pv, and have not found the reason. Maybe there is some logic I forget or I don't know, to write to this pv. So is there a way to check in our control system, which PVs write to this pv? Or, this PV is written from which IP?
>
> Thanks a lot ,
>
> Ge

Hello Ge,

There is a module to log all Channel Access Puts [1], which logs all
Channel Access put operations to an iocLogServer, and should tell you if
the PV has been changed from the outside.

DB writes from the same IOC are harder to log. You can always try to set
the TPRO field of the target record. This will show you when it is being
processed, and by which thread, but not exactly which other record is
writing. (You should be able to find this by searching the IOC's
database, though.)

Writes from records on other IOCs are done through Channel Access, and
logged by CAPutLog.

Good luck,
~Ralph

[1] http://www-csr.bessy.de/control/SoftDist/caPutLog/


References:
how to know which PVs write to a PV LEI Ge
Re: how to know which PVs write to a PV Ralph Lange

Navigate by Date:
Prev: Re: how to know which PVs write to a PV Ralph Lange
Next: procServ and user id Konrad, Martin
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019 
Navigate by Thread:
Prev: Re: how to know which PVs write to a PV Ralph Lange
Next: Re: Re: how to know which PVs write to a PV LEI Ge
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·