Table of Contents

DAQ run protocol

This page provides documentation of the run control protocol adopted between data acquisition systems running in parallel on different devices. The intent is to define server/client configurations as well as a set of recognized commands/acknowledgements between the partners.

Master/Slave configuration

The architecture is such that there is only one master and a number of slaves that are controlled by the master's commands. The master configuration is a client connecting to slave servers. The anticipated behavior is that a given system will only accept to become a slave if its data acquisition system is not running (is not active). The port number used by slave servers is 8000. The host is the name of the data acquisition computer on which the DAQ is running (presently spdaq48 for the S800 DAQ for example). Slave servers can only accept one and only connection (the first client to connect). All other connection attempts are rejected and signaled with an error message.

Commands and acknowledgments

The list of commands that are accepted by the slave servers is listed below together with the actions and responses they trigger.

CommandActionOK messageFAIL message
begin Start data acquisition none not in slave mode
end End data acquisition none not in slave mode
set run n Set run number to n none not in slave mode
set title “some title string” Set run title to the string none not in slave mode
set recording 1 or 0 Set recording of data to disk none not in slave mode
set destination /home/directory/of/experiment Set the root path of where data is written none not in slave mode
set slave 1 or 0 Set the system in slave or master mode none run is active
get state Get state of data acquisition active or inactive none
any other command unrecognized command: “command”