g+
g+ Communities
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  <20132014  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014 
<== Date ==> <== Thread ==>

Subject: RE: DXP ElapsedRealTime
From: Mark Rivers <rivers@cars.uchicago.edu>
To: Hinko Kocevar <hinko.kocevar@i-tech.si>, Tech Talk <tech-talk@aps.anl.gov>
Date: Wed, 23 Jan 2013 12:51:46 +0000
Hi Hinko,

> Correct me if I'm wrong, the DXP system can be composed of different
> number of channels (1 - 16 or even more). So the $(P)ElapsedRealTime
> shows the maximum Real time as seen by any of the active channels
> belonging to the DXP system.

That is correct.

I just checked into this.  You are correct, there are 2 different PVs containing the string ElapsedReal

corvette:dxp/dxpApp/Db>grep ElapsedReal *
dxpHighLevel.template:record(ai, "$(P)$(R)ElapsedRealTime") {
dxpMED.template:record(ai,"$(P)ElapsedReal") {

ElapsedRealTime is in dxpHighLevel.template and is loaded once per channel.  ElapsedRead is in dxpMED.template, and is loaded once per system.  ElapsedRead is the one shown on the top-level screen (16element_dxp.adl).  ElapsedRealTime is not contained in any .adl files supplied with DXP.

This is the code in dxpHighLevel.template for that record:

# This is really redundant with the MCA_ELAPSED_REAL parameter
record(ai, "$(P)$(R)ElapsedRealTime") {
    field(DTYP, "asynFloat64")
    field(INP, "$(IO)MCA_ELAPSED_REAL")
    field(DESC, "number of triggers")
    field(SCAN, "I/O Intr")
}

Note that there is a comment that says that ai record is really redundant with the .ERTM field in the MCA records.  I think I put in the template file because the ai record is I/O Intr scanned, and so it might update even when the MCA record was not updating (because it was passively scanned).

Mark




________________________________________
From: tech-talk-bounces@aps.anl.gov [tech-talk-bounces@aps.anl.gov] on behalf of Hinko Kocevar [hinko.kocevar@i-tech.si]
Sent: Wednesday, January 23, 2013 6:13 AM
To: Tech Talk
Subject: Re: DXP ElapsedRealTime

Hi Mark,


On 01/22/2013 03:48 PM, Mark Rivers wrote:
> Hi Hinko,
>
>> I was expecting that $(P)ElapsedRealTime would hold some other time
>> value - maybe cumulative for all MCA channels..
>
> That PV holds the maximum elapsed real time for any channel.  The calculation is done at line 2821 in NDDxp.cpp:
>
>             getDoubleParam(i, mcaElapsedRealTime, &realTime);
>             realTime = MAX(realTime, dvalue);

Line 2821 in NDDxp.cpp is more or less EOF in the code I'm looking at -
dxpR3-1. But on line 1814 and 1815 I can find the lines you are
referring too. Thanks!

Correct me if I'm wrong, the DXP system can be composed of different
number of channels (1 - 16 or even more). So the $(P)ElapsedRealTime
shows the maximum Real time as seen by any of the active channels
belonging to the DXP system.

>
>> Also since the 16element_dxp.adl looks like a "top" level panel, for
>> controling 16 detector channels, why would we need to make a separate
>> instance of it (according to dxpDoc.html) for each detector channel?
>
> It is a top-level panel and you don't need to make a separate instance of it for each detector channel.  I searched dxpDoc.html for the string 16element_dxp.adl and I don't see any mention of making separate instances of it.  Can you please send me the text that you are referring to?

I was reading this on some printed sheets I have - but I do not have
them at hand. The statement is more a deduction from compiling several
information from the code, DB and docs I have, rather than a direct
statement in the docs.

The implication was that dxpHighLevel.template defines the
$(P)ElapsedRealTime the 16element_dxp.adl is showing it. Since
16element_dxp.adl is obviously top level panel, I was surprised to see
it was showing a PV from the template that is instantiated multiple
times (dxpHighLevel.template). That is why the statement "according to
dxpDoc.html" was made, because it indeed does say, in the
dxpHighLevel.template section:

".. One instance of this database is loaded for each detector channel in
the system. .."


Looking at the online versions of panels, templates and docs again, I
can't find the use of $(P)ElapsedRealTime in any ADL panel - only
$(P)ElapsedReal is used. I need to verify this info with my printed docs
later on this week.



Thanks,

--
Hinko

>
> Thanks,
> Mark
>
>
> -----Original Message-----
> From: tech-talk-bounces@aps.anl.gov [mailto:tech-talk-bounces@aps.anl.gov] On Behalf Of Hinko Kocevar
> Sent: Tuesday, January 22, 2013 7:20 AM
> To: Tech Talk
> Subject: DXP ElapsedRealTime
>
> Hi,
>
> I'm trying to understand how the counting of Elapsed Real Time is done
> in the $(P)ElapsedRealTime record found in dxpHighLevel.template and
> seen on 16element_dxp.adl panel.
>
> I can understand that each MCA record (seen in the mca_simple.adl)
> counts its own Elapsed real time in the .ERTM field.
>
> I was expecting that $(P)ElapsedRealTime would hold some other time
> value - maybe cumulative for all MCA channels..
>
> Also since the 16element_dxp.adl looks like a "top" level panel, for
> controling 16 detector channels, why would we need to make a separate
> instance of it (according to dxpDoc.html) for each detector channel?
>
> Best regards,
>
> --
> Hinko Kocevar
>



References:
DXP ElapsedRealTime Hinko Kocevar
RE: DXP ElapsedRealTime Mark Rivers
Re: DXP ElapsedRealTime Hinko Kocevar

Navigate by Date:
Prev: Re: DXP ElapsedRealTime Hinko Kocevar
Next: Re: sequencer programs in an IOC Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014 
Navigate by Thread:
Prev: Re: DXP ElapsedRealTime Hinko Kocevar
Next: sequencer programs in an IOC James F Ross
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·