Experimental Physics and Industrial Control System
Thanks for the replies.
Now knowing what the philosophy of the implementation of the waveform
record is I have the data successfully transferred into EPICS. Reading
the NORD field to get the actual data size in my clients is not a
problem, however I have followed Juraj's suggestion and separated my
individual channels of data using subArray records.
To expand, RE Emmanuels request -
The BPM system is for EMMA, a non-scaling FFAG accelerator. Each
injection of beam into the accelerator could potentially be for a
different specified number of turns around the ring before extraction at
a particular energy. Also the ADC clock for the data acquisition is
derived from the beam directly off the vertical BPM pickup. So,
potentially the beam could be outside of the range of detection for the
pickup, but still within the acceptance of the lattice. In this case
the ADC stops triggering and the acquisition run for that BPM is
complete. So each BPM could receive data anywhere in the range from 0
to 1000 turns depending on the number of turns EMMA is setup for. In an
ideal world, all BPMs would see all turns, but this number would still
be variable. The BPM system is a turn-by-turn in house design
specifically for EMMA.
As a follow up question, what would be the recommended way of performing
calculations on array data within the EPICS database? Do I have to
resort to subRoutine records? In my individual channels of data
(subArray records) I have multiple quartets of data, one for for each
turn captured, I need to perform calculations on each of these quartets
to determine beam position for each turn.
Thanks,
Graham
-----Original Message-----
From: [email protected]
[mailto:[email protected]]
Sent: 07 June 2010 22:39
To: Cox, Graham (STFC,DL,EID)
Cc: [email protected]
Subject: Re: Waveform Record Device Support
On 10:06 Mon 07 Jun , [email protected] wrote:
> I am integrating a turn-by-turn BPM system into EPICS and would like
> to store the raw BPM pickup data in a waveform record. Due to the
> nature of the system, each run can result in a different number of
> samples for each BPM pickup, so the array size is unknown in advance
> and could potentially be different every run.
Given my limited experience with particle accelerators, I am just
wondering what kind of system are you working with?
Storage ring, linac, ... pulsed, not pulsed?
If the waveform length is changing, it can only be because data
acquisition is asynchronous.
Are you sampling CW signals? I can't think of a system that would work
with those requirements.
Could you expend?
> Is it possible to resize the number of waveform record elements in my
> device support, or do I have to size the waveform record in advance
> for the maximum number of samples that could be expected. Most of the
> examples of waveform device support I see read the nelm field and
> return this fixed amount of data via the records bptr.
Another solutions may be to use FIFO waveforms, aka compress records.
The compress record is part of epics-base.
In this case, the number of samples per channel acquired can be
different, but the length of the FIFO stack can be the same.
Good luck,
--
Emmanuel
--
Scanned by iCritical.
- Replies:
- Re: Waveform Record Device Support Burkhard Kolb
- Re: Waveform Record Device Support Dirk Zimoch
- References:
- Re: Waveform Record Device Support emmanuel_mayssat
- Navigate by Date:
- Prev:
CA Lab - New interface between LabVIEW? and EPICS Carsten Winkler
- Next:
Re: Waveform Record Device Support Burkhard Kolb
- 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: Waveform Record Device Support emmanuel_mayssat
- Next:
Re: Waveform Record Device Support Burkhard Kolb
- 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