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.
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.
The list of commands that are accepted by the slave servers is listed below together with the actions and responses they trigger.
|Command||Action||OK message||FAIL 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”|