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  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: DXP ElapsedRealTime
From: Mark Rivers <[email protected]>
To: Hinko Kocevar <[email protected]>, Tech Talk <[email protected]>
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: [email protected] [[email protected]] on behalf of Hinko Kocevar [[email protected]]
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: [email protected] [mailto:[email protected]] 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  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
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  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·