EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  <19961997  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  <19961997  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: Re: PACT -> SDIS
From: [email protected] (Marty Kraimer)
To: [email protected]
Date: Tue, 13 Feb 1996 13:19:19 -0600
> From [email protected] Tue Feb 13 12:05 CST 1996
> Date: Tue, 13 Feb 1996 17:59:56 +0000 (GMT)
> From: Ian Smith <[email protected]>
> To: [email protected]
> Subject: PACT -> SDIS
> Mime-Version: 1.0
> Content-Type: TEXT/PLAIN; charset=US-ASCII
> Content-Length: 946
> 
> I've connected the PACT field (via a user defined leg) of one record to 
> the SDIS input of another to temporarily stop it processing.  It seems to 
> work but...
> 
> 1: I can't monitor the PACT leg with either probe or cau etc, nothing can 
>    connect to it, so it is impossible to verify its operation.
> 

I think that what you mean is that db_post_event is not called for
this field. It is possible to look at PACT with cau, probe, etc.
The problem is that  monitors are never triggered.

According to the rules this should be done by record
processing but no record support module does this.
I guess no one ever pointed out this problem. What to do?


I would image that what you want is to detect records that are stuck,
i.e.PACT is true forever. This could be done by letting dbProcess call
db_post_event if PACT is true when process returns.
Also let recGblFwdLink call db_post_event. I dont like this because we
are really making a special case of this field. 

Note that it will be a real pain to make record support honor this.

We could declare field to be SPC_NOACCESS and then it will be impossible to
even look at field.

I dont like any of the alternatives. I do, however, realize the desirability
of looking for stuck records. Note that if record is periodically scanned
it will be placed into scan alarm after ten consecutive times PACT is found
true.

> 2: If the record is actively processing, say every 10 seconds, then it 
> seems to count the number of times it should have activated whilst it is 
> disabled and then, when it is re-enabled, it seems to process n 
> times without a 10 second wait between each. Ie, if it was disabled for 60 
> seconds then when it is re-enabled, it processes at least twice, perhaps 
> 6 times, instantaneously.  The record behaves itself if it is passive.
> 

Nothing makes the record process the number of times is is found
active. The only thing that can happen is cached puts. If a ca_put is directed
to an asynchronous record than has PACT true, then when the record completes
processing it will be processed ONE additional time no matter how many
dbPutFields were issued while the record was active. This is called "Cached
Puts"

Marty Kraimer


Replies:
Re: PACT -> SDIS Ian Smith

Navigate by Date:
Prev: Allen Bradley Driver Marty Kraimer
Next: Re: macro substitution Jim B. Kowalkowski
Index: 1994  1995  <19961997  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 
Navigate by Thread:
Prev: PACT -> SDIS Ian Smith
Next: Re: PACT -> SDIS Ian Smith
Index: 1994  1995  <19961997  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 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·