DAQ systems for Nustar (Discussion)
The main idea we can extract from the discussion is that it is difficult to have a unique DAQ system, but it is important to define a minimum level of interfaces needed to interconnect systems.
We have to consider several levels of interconnection.
- monitoring of the experiment or « run control »
- FEE setup or « slow control »
- data flow
Run control
The Run Control system is a piece of software which allows to command and control
the Data Acquisition system during the experiment. The user must be able to start/stop
and to monitor the entire system, any sub-system or any individual element.
On the GANIL point of view, the run control is connected to different elements of the DAQ through "Instrument Managers". The Instrument Manager performs the actual communication with an instrument, thus acting as a protocol adapter that implements the instrument specific protocol to access its functions and read its status. Connecting an ancillary system to the run control is done at this level. A minimum set of commands has to be implemented, like go, stop, get_status.
Slow control
Slow control is in charge of setup and monitor electronics. It has to be remotely accessible by the run control to start, stop and monitor the system.
Data flow
Interconnection of data flows issued from different data acquisition systems has to considered from two points of view, ancillary and main data flow.
Narval used at GANIL can easily accept ancillary detectors or can be adapted to be seen as ancillary by another system.
There are two possibilities to accept an ancillary system:
- the ancillary system uses the GANIL protocol interconnection
- write a dedicated producer in Narval, accepting the ancillary protocol.
If Narval is seen as ancillary system by another DAQ, it is easy to write a dedicated consumer using the protocol of the main system.
What are the possibilities with DABC?
Data flow processes have to be remotely accessible by the run control to start, stop and monitor the system. Narval offers Web services (SOAP).
Of course, it is desirable that standard communication protocols can be defined. At Ganil, for commands communication protocol we use SOAP and for error logging we use Log4j,
Log4C++.
--
BrunoRaine - 28 Aug 2007