70 likes | 83 Views
This project aims to create a distributed DAQ system for a beam telescope, using sockets for data/command transmission, and a simple interface. It includes modules for RunControl, Producer, DataCollector, Monitor, and Logger.
E N D
JRA1: Status of DAQ Emlyn Corrin
Aims • Create a simple and easy to use DAQ system for the beam telescope • Distributed across multiple computers • Use sockets for sending data/commands • Reasonably portable • Use mainly standard C++ • POSIX for sockets and threading
Architecture • RunControl • Controls all the other applications • Producer • Communicates with hardware and sends data to: • DataCollector • Collects and merges data from all Producers • Monitor • Receives data from DataCollector for display/statistics • Logger • Collects logging messages from other applications
Architecture Key: Application Buffer Thread Signal /data Listening Socket Data Command Logging
Status • Transport classes handle sending data/commands from process to process • Flexibility to use different transport “plugins” • Basic RunControl, Producer and DataCollector created with simple text interfaces for testing
To Do • Logger: start with interface and simple log->stdout, network logger later • Event class - run/event numbers, data • Monitor interface - monitors can request subsets of the data • GUI • Port to VC++/Borland? • Sockets: Winsock is quite similar, to Linux sockets • Threads: a pthread library is available for VC++ • Rest should be standard C++ • Documentation • Probably lots more fixes/cleaning up…
Other Results Date: 22 December Time: 14:27 Length: 46 cm Weight: 3.1 kg Name: Tobias Ian