Hi Scott,
(1)
Am I correct in my understanding that EPICS is meant primarily for managing systems data and systems control, rather than the core scientific data from an experiment (e.g. bandwidth-heavy high-speed cameras with 300 Hz image updates,
fast digitizers, etc)?
There are many sites that use EPICS for the core scientific data. For example many synchrotron beamlines and other sites are using the EPICS areaDetector package to stream data from high speed cameras. It supports file writing at high
performance with HDF5 and other formats. I personally use it for collecting microtomography data at over 500 MB/s.
https://github.com/areaDetector
We also use EPICS for rapid feedback, using the epid record.
http://htmlpreview.github.io/?https://github.com/epics-modules/std/blob/master/documentation/epidRecord.html
This can be used to hundreds of Hz with standard EPICS record links, and to ten kHz or so with dedicate asyn message links.
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of
Feister, Scott via Tech-talk
Sent: Wednesday, February 24, 2021 2:42 PM
To: tech-talk at aps.anl.gov
Subject: New EPICS User Questions: (1) Microcontrollers (2) Data-data pipeline?
Hi EPICS users,
I am beginning to explore the idea of using EPICS as the basis for automated-control data feedback loops in the context of high-intensity-laser plasma experiments. The experimental repetition rates vary between 1 Hz and 1 kHz, depending
on the facility. Typical devices in the pipeline include cameras, fast digitizers, slow digitizers, motor controls, oscilloscopes, etc. Recently I have been also been working on developing custom embedded systems based on microcontrollers, that can do some
early on-board distributed pre-analysis of data.
As I explore EPICS, I have a couple of introductory questions for which I think you could quickly help.
(1)
Is there support for using microcontrollers as EPICS clients? E.g. ethernet-enabled Arduinos or STM32 Nucleo Boards.
(2)
Am I correct in my understanding that EPICS is meant primarily for managing systems data and systems control, rather than the core scientific data from an experiment (e.g. bandwidth-heavy high-speed cameras with 300 Hz image updates,
fast digitizers, etc)?
(3)
If my understanding is correct, do you know of any similar projects relating to managing the data pipeline for acquisition and storage of high-bandwidth, non-feedback-control scientific data?
Thank you!
Scott
Scott Feister
Assistant Professor, Computer Science
California State University Channel Islands
scott.feister at csuci.edu