EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  Index 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020 
<== Date ==> <== Thread ==>

Subject: Re: process passive task
From: Ralph Lange <Ralph.Lange@aps.anl.gov>
To: Ian Smith <i.smith@jach.hawaii.edu>
Cc: EPICS Tech-Talk <tech-talk@aps.anl.gov>
Date: Thu, 1 Feb 2001 13:00:06 -0600 (CST)
Hi Ian,

  > confused, yes! :-)

That's what I thought ... the point is:

The EPICS database records are just lying around like a large heap of
sh...eep that are sleeping. Nebulously wavering on top of them there is
an interface layer called Runtime Database Access that allows tasks to
do things with (to?) these records, such as find one by name, put values
to one of its fields or process it. (All the details are as always in
the Application Developer's Guide.)

So any task that wishes to access the database may use this interface to
do so.

(Compare your question to someone debugging the IO system asking "Which
process is opening a file on this computer?" - Got the idea?)

  > In this case, it's DM poking a value into the record,
  > CA Put presumably.

Right.

This case is a bit difficult, since the tasks handling CA requests are
generated on demand by the CA server.

Issue an "i" command to the vxWorks shell after you boot your IOC, then
take a deep breath and look at all the stuff that is helplessly idling
around.

Fire up the CA client (DM in this case) that accesses your channel.

Issue another "i" command. Now you should be able to identify the pair
of tasks that was created for this client. One of them, the CA event
task, is handling the events (outgoing from IOC to client), the other
one, called CA client task, handles the incoming requests (client to
database). It is that task you should connect your debugger to.

The names of these tasks have been undergoing a couple of changes
lately, so what you see in your "i" output may differ depending on your
base release.

Now this should get you started ... good luck!

Ralph

ps: You may also look at the "IOC Test Facilities" chapter of the
Developer's Guide to see what else is there to help you.


References:
Re: process passive task Ralph Lange

Navigate by Date:
Prev: Re: process passive task Ralph Lange
Next: Re: process passive task Ned Arnold
Index: 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020 
Navigate by Thread:
Prev: Re: process passive task Ralph Lange
Next: EPICS training Nick Rees
Index: 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020