Data Acquisition with FESA in Beam Diagnostics Harald Bräuning 2011-09-05
Data Acquisition with FESAin Beam Diagnostics
Harald Bräuning
2011-09-05
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
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
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
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
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
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
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
Lassie
Lassie
Lassie
Lassie
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
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)?
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
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
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
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
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
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
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
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
Fast Current Transformer S07DT_FP
Fast Current Transformer S07DT_FP
THE END
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