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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Problems of Channel Archiver |
From: | "Bob Dalesio" <[email protected]> |
To: | Thomas Birke <[email protected]>, Wang Yanke <[email protected]> |
Cc: | Techtalk <[email protected]> |
Date: | Tue, 16 Mar 2004 05:26:37 -0700 |
On Tue, 16 Mar 2004 12:40:37 +0100 Thomas Birke <[email protected]> wrote:
Wang Yanke wrote:
The reason for that behaviour is, that the Export-functions of the ChannellArchiverHi, When I tried to archive the vacuum data with ChannelArchiver, I got some data like:
03/09/2004 15:58:23.254187014 0.000 03/09/2004 15:58:43.254186214 0.000 03/09/2004 15:59:00.000000000 0.000 03/09/2004 15:59:03.254185414 0.000 03/09/2004 15:59:20.000000000 0.000 03/09/2004 15:59:40.000000000 0.000 03/09/2004 16:00:00.000000000 0.000 03/09/2004 16:00:20.000000000 0.000 03/09/2004 16:00:40.000000000 0.000 03/09/2004 16:00:43.254181414 0.000 ....
I have retrievaled it with CGIExport or ArchiveExport many times, but
the results were disappointing.
So, Why can't I get the same proper value(e.g. 1.324e-07) as using
"caget" instead of zero?
Furthermore, why the time interval is not the value i set in the .cfg
file(20 seconds)?
Is there something wrong with the configuration of the ArchiveEngine
or the retrieval tools?
How can I get the data I want?
(every function, that formats floats/doubles into strings) honours the PREC-field of
the connected PV. It's like
sprintf( "%*f", prec, value )
In some cases, it would be better to use engineering- or scientific-notation instead of decimal notation - or even ignore the PREC at all. As an exception, a PREC of 0 is indeed ignored...
We had the same problems with our vacuum values here at BESSY and started to store the logarithmic values instead.
The good thing is: The archive has all the values with full accuracy, so once you change the formatting of the output, you'll get your values just like you expect them to be.
But none of the bundled export tools ignores the PREC-field if it is set to something other than 0.
The "20 seconds" problem actually isn't a problem.
If a new value arrives via ChannelAccess, it is stored with the accurate timestamp. The other values are not even stored in the archive (Kay, correct me if I'm wrong). It's the output-functions again, that produce these repeated values.
I know this is not really helpful, but it's an attempt to explain what happens...
Is ther any guideline on whether and how to handle/honour the PREC field at all?
Thomas
Bob Dalesio [email protected] 410 557 0297 Maryland 505 667 5643 Los Alamos (New Number) 505 699 1632 Cell Phone 505 667 6087 Our Secretary (Lisa Marie)