Hello Kai,
I'm not sure if I completely understand your application. Anyway, here's my suggestions additional to Mark's.
1. Try compress record, see [1]: I suppose you have one record for "position" and another record for "current". Feed each of these records into one compress record to collect the data points you want (1000 to 10000values);
2. Try python-cothread for the curve fitting: data-fitting in C/C++ by subroutine or aSub record might not be easy. Another way to do fitting is to use Python (lots of data-fitting functions) combined with cothread (for channel access, see [2]). Since you're using Debian, there is a package at NSLS-II site [3] and you just need to install "python-cothread".
Hope these help. Good luck!
[1] https://wiki-ext.aps.anl.gov/epics/index.php/RRM_3-14_Compression
[2] http://controls.diamond.ac.uk/downloads/python/cothread/
[3] http://epics.nsls2.bnl.gov/debian/
Yong
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Mark Rivers
Sent: Thursday, September 27, 2012 10:47 AM
To: 'Kai Stein'; [email protected]
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
- References:
- How can I collect data values Kai Stein
- RE: How can I collect data values Mark Rivers
- Navigate by Date:
- Prev:
Re: How can I collect data values Tim Mooney
- Next:
Re: How can I collect data values Benjamin Franksen
- 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: looking for acromag ip-480 driver Mark Rivers
- Next:
Re: How can I collect data values Benjamin Franksen
- 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
|