Experimental Physics and Industrial Control System
|
Kai Stein wrote:
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
If your longin processes once for each value "automatically", then the
compress record is the easiest way. FLNK from the longin to the
compress. (Or if that is not possible, use "CP" in the input link of the
compress. But that will fail to fetch two consecutive samples with the
same value.) Set NSAM to the maximum number of values you want to keep.
You may set ALG="Circular Buffer". (If you want to average first, you
may set N to the number of values that should be averaged into one
sample value and set ALG="N to 1 Average".) After all values have been
collected (you find the current filling in NUSE and can check it with a
calcout record that you process with a FLNK from the compress) you can
read VAL to get the array (probably filled up with 0 up to NSAM).
Afterwards, write a 1 to RES to clear the array for the next
measurement. The subroutine can be implemented in an aSub record (of if
you have an older version of base with a genSub from SynApps).
If your longin does not process automatically but you have to trigger it
and probably have to set other values in between two samples, then you
should use the sscan record from SynApps.
Dirk
- Replies:
- RE: How can I collect data values Hu, Yong
- References:
- How can I collect data values Kai Stein
- Navigate by Date:
- Prev:
Loading modbus waveform record from acalcout record (or caput) jon
- Next:
camon: multiple servers found? Laznovsky Michael
- 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:
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
|
ANJ, 18 Nov 2013 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|