Top Banner
Data Acquisition with FESA in Beam Diagnostics Harald Bräuning 2011-09-05
26

Data Acquisition with FESA

Apr 24, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Data Acquisition with FESA

Data Acquisition with FESAin Beam Diagnostics

Harald Bräuning

2011-09-05

Page 2: Data Acquisition with FESA

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

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

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

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

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

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

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

Lassie

Page 10: Data Acquisition with FESA

Lassie

Page 11: Data Acquisition with FESA

Lassie

Page 12: Data Acquisition with FESA

Lassie

Page 13: Data Acquisition with FESA

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

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

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

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

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

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

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

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

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

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

Fast Current Transformer S07DT_FP

Page 24: Data Acquisition with FESA

Fast Current Transformer S07DT_FP

Page 25: Data Acquisition with FESA

THE END

Page 26: Data Acquisition with FESA

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