data acquisition with fesa
TRANSCRIPT
![Page 1: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/1.jpg)
Data Acquisition with FESAin Beam Diagnostics
Harald Bräuning
2011-09-05
![Page 2: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/2.jpg)
Peculiarities of Beam Diag. DAQ
Large amount of data / high rates
ABLASS (A Beam Loss measurement And Scaling System):
● 192 counter channels in 1 VME crate
● beam loss monitors (scintillators, pulse counting)
● ionisation chambers / secondary electron emission grids (IFC)
● trafos (UFC)
● . . .
● spill structure analysis by sampling
● data acquired over full accelerator cycle
● typically with 1kHz
● high resolution mode for selected channels up to 1MHz
● trending over fixed number of cycles
● depending on cycle length typically 1 – 3 days
● writes data to disk
![Page 3: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/3.jpg)
Peculiarities of Beam Diag. DAQ
DAQ for beam physics experiments
Beam diagnostic devices are required for beam physics experiments:
● special modes (i.e. high sampling rates etc.)
● online storage of raw data for offline analysis
● flexibility to respond to user requests with respect to
● acquisition modes, data acquired
● data formats (everyone has his favorite analysis tool)
● access to stored data from without controls group
Fast Current Transformer (FCT):
● longitudinal beam tomography
● sample with 500 MHz over at least on synchrotron oscillation (> 1ms)
● on board ADC memory: 1 GByte for 128 ms sampling time
![Page 4: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/4.jpg)
Architecture
Applications (typ. Java)
LSA client API
LSA core
(Settings, Trim, Generation, Optics)
Java API for Parameter Control (JAPC) Data Access Object
Database
Controls Middle Ware Server
Actions (Server / RT)
Hardware Access
FESA
Hardware (VME,Firewire, Ethernet...)
External Trigger (Machine Timing...)
Corba
![Page 5: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/5.jpg)
RT ActionsRT Actions
FESA – Front End Software Architecture
HardwareHardware
Hardware AccessHardware Access
Server ActionsServer Actions
Default Get/Set
Custom Code
Event SourcesEvent Sources
Timing Event Source
Timer Event Source
OnDemand Evt Source
Custom Event Source
Sch
edu
ler
/ Co n
curr
ency
Lay
ers
Multiplexed Data StorageMultiplexed Data Storage
Global Data
Device Data
Device 1
Device 2
Device n
. . .
Acq
uis
i tion
Set
tings
Con
figu
ratio
n
CMW ServerCMW Server
Client(s)Client(s)get/set subscription
![Page 6: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/6.jpg)
Infrastructure
Front-End-ComputerFront-End-Computer
Fesa-Class-Executable
CMW Server (i.e. Lasa.sddsc006)
global device
device 1 (i.e. S07DT_FP)
device 2
device nGUIGUI
LSA
JAPC
CMW Directory Serverfcmw00a.acc.gsi.de:5021
CMW Directory Serverfcmw00a.acc.gsi.de:5021
Oracle Databasedbl00a.acc.gsi.de
Oracle Databasedbl00a.acc.gsi.de
Corba
(Intero
perable Object
Reference
IOR)
Servername + IOR
device name IOR
Store server name and IORAssociate device name with server name
![Page 7: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/7.jpg)
Lassie / Lasa
Large Analog Signal and Scaling Environment / Large Scaler Array
Initial goal: Implementation and expansion of the ABLASS functionality using FESA and Java/JAPC
Lassie – GUI framework for dedicated FESA classes● flexible tool to display any time dependent signals (counters, ADC data, ...)
● as a function of time● integrated data ● analysis tools (filters, cross correlation)
● data correlation in time● currently within a single timing domain: one time interval for all data● in the future maybe over different timing domains: different time intervals
● data logging● in the future should handle online transmission
![Page 8: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/8.jpg)
Lassie / Lasa
Large Analog Signal and Scaling Environment / Large Scaler Array
Lasa – one FESA class for Lassie
● 192 or more scaler channels
● sampling rate up to 1 MHz
● requires disabling of channels due to
● VME bandwidth
● memory
● measurement over full SIS cycle (up to 15 sec)
● correlation with machine events
✚ measurement during spill pause
![Page 9: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/9.jpg)
Lassie
![Page 10: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/10.jpg)
Lassie
![Page 11: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/11.jpg)
Lassie
![Page 12: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/12.jpg)
Lassie
![Page 13: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/13.jpg)
Lasa – Memory Management
FESA data model is static:
● size of arrays is fixed during design phase
● number of channels is defined during design phase
● less channels: no problem but waste of memory
● more channels: change design and recompile required
● number of measurements per channel defined during class design
Memory requirements (originally run on RIO3 with 512 MByte):
● 192 channels
● 15 sec maximum cycle length
● 16 accelerators for multiplexed data storage
➢ 1 kHz sampling: 92 MByte
➢ 1 MHz sampling:92 GByte
● VME bandwidth limits # of channels anyway to ≤8 (for a MenA20 FEC)
● only few channels really of interest
● change in memory layout difficult to handle in static data model
![Page 14: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/14.jpg)
Lasa – Memory Management
Custom memory management:
● allocates fixed percentage of memory (typ. 50%, set in instantiation file)
● adaptable to changing number of channels and sampling rates
● two memory banks allow reading of old cycle data while acquiring data of the new cycle
● uses the fact, that RDA can handle arbitrary array sizes
FESA class not really multiplexed:
● data for each virt. accelerator is send to GUI
● GUI responsible for selecting which accelerator to display
● display time only as long as current cycle time
Standard 1 kHz operating mode could be handled using FESA multiplexed data storage
● 2 different FESA classes (operating and beam experiments)?
![Page 15: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/15.jpg)
Lasa - RT Layer
ReadoutScaler RT Action● read all scalers● read timing receiver● on event #32
● switch memory banks● notify properties● save data to file if required
ReadoutScaler RT Action● read all scalers● read timing receiver● on event #32
● switch memory banks● notify properties● save data to file if required
Fileoutput RT Action● copy data to new memory
buffer● write data to file● runs in concurrency layer● normal priority
Fileoutput RT Action● copy data to new memory
buffer● write data to file● runs in concurrency layer● normal priority
Status RT Action● runs in concurrency layer● low priority
Status RT Action● runs in concurrency layer● low priority
RangeRequest RT Action● read gain settings via
DeviceAccess● runs in concurrency layer● normal priority
RangeRequest RT Action● read gain settings via
DeviceAccess● runs in concurrency layer● normal priority
TimerEventSource
period: 10ms
TimerEventSource
period: 10ms
TimerEventSource
period: 1000ms
TimerEventSource
period: 1000ms
![Page 16: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/16.jpg)
Lasa – Server Layer
Global Interface
SummaryInfo● list of device names with associated
● index, module, channel● type, description, ...
● list of allowed latching frequencies● number of scaler modules● list of channels per module
SummaryStatus● status of file output● list of devices names and modes
SummaryAcquisition● accelerator● list of events and event times in cycle● run time / pause time● range settings of devices● array of scaler sums during spill and pause● array of calibrated sum data during spill and
pause
SummaryExpertSettings
SummaryIOSettings
SummaryDebugSettings
SummaryPower
SummaryReset
![Page 17: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/17.jpg)
Lasa – Server Layer
Device Interface
each device instance corresponds to one diagnostic devices (i.e. scaler channel)
Acquisition➢ spillDataFilter➢ startEvent➢ stopEvent● accelerator● list of events and event times● run time / pause time● range setting of the device● scaler sum and calibrated sum data during spill and pause● scaler sum and calibrated sum data between start and stop event● spill data between start and stop event
Setting
Status
Power
Reset
Info
![Page 18: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/18.jpg)
Lasa – Open Issues
1) Return beam intensity (particles / second)
+ easy GUI
+ easy logging of data with generic logging server
- FESA class must be provided with beam data: energy, charge, isotope
What data should be returned by the FESA class?● Scalers count only● Voltages and currents outputs are converted into frequencies for counting
2) Return voltage / current output of devices
+ FESA class must know only hardware settings (amplifiers, IFC parameters etc.)
+ no complex calculations needed
- GUI must convert to particles per second
- logging more difficult as logging server must know how and when to convert data into pps
![Page 19: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/19.jpg)
Lasa – Open Issues
● Data logging
● How to handle storage rings
● long beam cycles (ESR users quite often pause the supercycle)
● memory requirements / handling
● periodic partial transmission of data to GUI to inform operator
![Page 20: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/20.jpg)
Fast Current Transformer S07DT_FP
Tomographic measurements of longitudinal phase space density
● measure beam current through trafo as function of time
● over at least one synchroton oscillation (> 1ms)
● at arbitrary times during the cycle
● 4 channel ADC with 500 MHz sampling frequency and 1GByte on board memory (128ms total sample time)
● currently expected to be for beam physics experiments only
Bergoz: 600 MHz bandwidth
![Page 21: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/21.jpg)
FCT
Challenge 1:
Trigger FESA class and ADC at arbitrary times settable during runtime via GUI
● Cern Timing Receiver (CTR) module provides Programable TIMing objects with settable
● accelerator
● machine event
● delay after machine event
● CTR provides TTL output to trigger ADC
● Custom Event Source
● based on the Timing Event Source of the framework
● provides 4 events with associated PTIM objects
● Arm – prepare the data acquisition and hardware and arm the ADC (Arm RT action)
● Trigger – triggers the ADC (done using hardware trigger, no RT)
● Stop – currently unused
● Acquire – readout ADC (Acquire RT action)
● implements state machine
● ignores new events if data readout or disk storage still in progress
![Page 22: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/22.jpg)
FCT
Challenge 2:
up to 1GByte of ADC data
● with only 1GByte RAM
● the ADC data cannot be transferred in full into the RAM
● the full ADC data cannot be send to clients in one block
● only a limited amount of samples are send via the Acquisition property (typ. 1 000 000)
● for acquisition with more than 1 000 000 samples
● only single shot measurements possible
● clients may request remaining data in blocks via the ExpertAcquisition property
● a reduction factor may be specified as filter to transfer only every n-th sample
● file output handled in Acquire RT action before notification of clients
● ADC data only accessed from one thread at a time
![Page 23: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/23.jpg)
Fast Current Transformer S07DT_FP
![Page 24: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/24.jpg)
Fast Current Transformer S07DT_FP
![Page 25: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/25.jpg)
THE END
![Page 26: Data Acquisition with FESA](https://reader034.vdocuments.net/reader034/viewer/2022042623/6264e55a2543bf10422a5fb3/html5/thumbnails/26.jpg)
Applications
Devices (FESA, GSI)
J APC CMW/RDA
J APC
Spring J DBC
Data Access Object (DAO)
LSA Client API
LSA CORE(Settings, Trim, Generation, Optics)
LSA Server
CORBA IIOP J DBC
HTTP
DB
Client
J APC plugin