1994 1995 1996 1997 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 1996 1997 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: saving samples |
From: | Miguel Bordalo <[email protected]> |
To: | Andrew Johnson <[email protected]> |
Cc: | EPICS Tech Talk <[email protected]> |
Date: | Tue, 13 Jun 2017 18:45:41 +0100 |
The compress record type that comes with Base can save a buffer of old
values (when its ALG field set to Circular Buffer). The documentation
for that record type is at
https://wiki-ext.aps.anl.gov/epics/index.php/RRM_3-14_ Compression
Getting out a specific older value from its array is easy if you're
running Base-3.15.x because you can use a subarray server-side filter to
extract the last-but-one or last-but-two value from the array say.
However instead of learning about those features there is a simpler way
using a single CALC record which is probably much easier to understand:
record(calc, "old-data") {
field(INPA, "input CP")
field(CALC, "C;C:=B;B:=A")
}
Whenever the "input" record reads a new input value it triggers the calc
record to process, which reads the new value into A. The calculation
processing then sets the VAL field to the previous C, then moves the
previous B into C and the new A into B. You can extend the chain as
necessary through D..L, and can also read intermediate values from the B
and/or C fields of the record.
- Andrew
On 06/13/2017 11:06 AM, Miguel Bordalo wrote:
> save in another PV the last sample (scalar) (or more samples) of other
> PV that is updated periodically.
> this is for example: i have the temperature of a room being updated
> periodically. I want another PV to act as a buffer that stores the last
> two samples of the room's temperature . And i want to be able to acess
> them individually of course.
> Thanks!
>
> ------------------------------------------------------------ > *Miguel Bordalo*-------------
>
> Licenciado em Engenharia Electrotécnica e de Computadores
> Instituto Superior Técnico
>
> [email protected] <mailto:miguel.b.fernandes@gmail.com >
>
>
> On 13 June 2017 at 16:01, Ralph Lange <[email protected]
> <mailto:[email protected]>> wrote:
>
> Please clarify a bit further.
>
> What do you mean by "save"?
>
> Write to a file? Store in an archiver? Write to another record?
>
> What kind of PV?
>
> Scalar or array data?
>
> If array: does "last" mean last array in time, or last element
> in array?
>
>
> Cheers,
> ~Ralph
>
>
> On Tue, Jun 13, 2017 at 4:18 PM, Miguel
> <[email protected] <mailto:miguel.b.fernandes@gmail.com >>
--> wrote:
>
> What is the easiest way to save periodicaly the last sample (or
> last 2/3 samples) of a certain PV ?
>
> ty
>
>
>
Arguing for surveillance because you have nothing to hide is no
different than making the claim, "I don't care about freedom of
speech because I have nothing to say." -- Edward Snowdon