E852 Documentation: Data Acquisition System
Main software components
- a messages logging daemon used to archive the diagnostic output of most the DAQ programs.
- a messages multicasting daemon used for communication between different parts of the DAQ system.
- the alarm display program collects the software alarms generated by other DAQ and analysis programs.
- shared memory management
- the data generated by the experiment lives in shared memory buffers. This subsystem manages creation,
distribution and removal of these buffers. The 'killer' process is responsible for the removal
of shared memory buffers.
- the 'DAQio' process is the heart of the DAQ system.
It controls the Fastbus system and reads the acquired data
from the Fastbus memory into the DAQ shared memory buffers (spill buffers).
- is the Fastbus initialization program.
- Event Builder
- the event builder program converts the spill buffers into itape-format events. (itape buffers)
- Tape Writer
- the tape writing processes write the itape buffers on tapes. Multiple tape writers can be running
in parallel to increase tape bandwidth or write duplicate tapes. The tape writers produce
a 'tape database' containing the information about the contents of each tape.
- Online Analysis programs
- the suite of online analysis programs provides most of the detector monitoring information.
User Interface Programs
- is the alarm display program. It captures and displays all the software alarms
generated by other DAQ programs.
- is the main DAQ control panel. It provides the most important control functions,
such as Start or Stop taking data, displays the most important status information and
lets the user launch other User Interface programs.
- is the user interface to the 'daqlogd' online logging system. This is the where the error
messages produced by most programs can be found.
- is the spill dump program. It displays the raw data at the lowest level (ouput of ADCs, TDCs, etc...).
- displays the Fastbus hardware configuration (current or for any other run).
- is the tape writing control program. It is used to start tape writers and monitor
DAQ State Diagram
The DAQ system is best described as a finite state automata.
It has the following states-
- 'off' - ground state. No DAQ programs are running.
- 'No data source' - some DAQ programs are running, but DAQio is not running.
- 'Not initialized' - the DAQ software is ready, the Fastbus hardware is not initialized yet.
- 'Initializing...' - the Fastbus system is being initialized.
- 'No run' - the system fully initialized, ready to start a run.
- 'Running' - the DAQ is taking data.
- 'Paused' - data taking is paused.
The transition between these states are initiated by sending messages to the 'DAQio' process,
usually by pressing the corresponding buttons on the 'DAQcontrol' panel.
The state transition diagram is given below.
//end file// Const Olchanski