Kai,
I agree with Mark. However...
Are you setting the individual positions at which current is acquired with an EPICS record, or does the measurement hardware set the positions? Do you trigger each data point, or does the hardware just blast them out and cause the longin records to process? If you don't set the positions, and you don't trigger acquisition, the sscan record might not be needed to accumulate the scalar data into arrays.
If you don't trigger each data point, at what rate do the longin records acquire new values? If the rate is faster than a few hundred Hz, the sscan record probably cannot accumulate the scalar data into arrays - at least not on Linux.
If the sscan record is not used, one easy way to accumulate the data would be to have each longin record forward link to a compress record, set the compress algorithm to "Circular Buffer", use the RES fields to clear the buffers, and use the SDIS links to enable and disable accumulation. You need to make sure both of the longin records process for each position/current data point, and you need to take care that the first position accumulated really does match with the first current accumulated. You could do this by choosing one of the longin records to trigger the transition from disabled to enabled. You also need some kind of timer or counter to disable acquisition. (I've never actually used a compress record, but I'm pretty sure this would work.)
Even if you don't use the sscan record to accumulate scalar values into arrays, you might still find it useful to manage the resetting and enabling, and to acquire the accumulated arrays and write them to disk. This is especially true if you plan to systematically set beam conditions and acquire wire-scan arrays at those conditions.
Tim
----- Original Message -----
From: "Mark Rivers" <[email protected]>
To: "Kai Stein" <[email protected]>, [email protected]
Sent: Thursday, September 27, 2012 9:46:30 AM
Subject: RE: How can I collect data values
The EPICS sscan record is designed for doing exactly this type of thing. I will collect data into arrays in the record, and in conjunction with the saveData utility in the sscan module will write the values to a portable binary disk file.
Mark
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Kai Stein
Sent: Thursday, September 27, 2012 9:44 AM
To: [email protected]
Subject: How can I collect data values
Hello,
I'm working on an automatic data analysis of electron beam (emittance
measurement with a wire scanner and a magnetic lens) with EPICS.
I get values from the hardware (self build measurement cards). The
device support put the values into a longin records (this part is fixed,
because it is already used for other applications).
I need to gather the values (will be a position and a corresponding
current) for a certain amount of time (approximately 1000 to 10000
values) and then hand it over to a subroutine, to perform the analysis
(like fitting a curve onto the data). It should all run on a debian machine.
My problem is to collect the data with EPICS. I thought about collecting
them somehow in a waveform record, but i have no idea, how to do this by
using other records instead of the device support.
Best regards,
Kai Stein
--
Tim Mooney ([email protected]) (630)252-5417
Software Services Group (www.aps.anl.gov)
Advanced Photon Source, Argonne National Lab
- Replies:
- looking for acromag ip-480 driver Noel Giffin
- References:
- RE: How can I collect data values Mark Rivers
- Navigate by Date:
- Prev:
RE: Building a self-contained shareable library Mark Rivers
- Next:
RE: How can I collect data values Hu, Yong
- 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
- Navigate by Thread:
- Prev:
RE: How can I collect data values Mark Rivers
- Next:
looking for acromag ip-480 driver Noel Giffin
- 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
|