Internship Report of Summer Student Project: David Martin
Internship Report of Summer Student Project: David Martin
Internship Report of Summer Student Project: David Martin
David Martin
0.2 libraries
We wanted to use only open source libraries compatible with the programming environment of the
TOTEM team for the remote control C++ script. We needed to communicate to the three devices using
Ethernet protocol, but in the same time this communication via Ethernet should be able to exchange
1
commands understandable by the devices : SCPI commands. SCPI stands for Standards Commands
for Programmable Instruments, it is a standard norm of language adopted by most of the electronic
constructors in 1990. It consists roughly into keywords plus parameters that allow to configure the device,
and query that allow user to ask for a measurement result for example. We turned toward an open source
library named liblxi, which use the LAN eXtensions for Instrumentation (LXI) to communicate to data
acquisition systems using Ethernet. It contains built-in functions to easily transmit SCPI commands to
devices.
We also needed a way to store the information about the time measurement module, such as long SCPI
command sequences doing one precise operation (readying the EDFA for measurement for example), or
the IP adresses of the devices. We choose to write an xml file to store this information, the remote
program should then parse this xml file, retrieve the information and be able to launch the operations
remotely on the module. The open source library BOOST contains an xml parser and because the team
still works on an the old 1.56 BOOST version, we choose the same version for our code for compatibility
reason. Finally, we used :
• liblxi, available here https://github.com/lxi/liblxi , that we slightly modified to get it work in
C++.
• BOOST 1.56, available here http://www.boost.org/
components sequences
component sequence
item
2
• modify the .txt file that receives the measurements using - -result file.txt
• modify the number of measurements using - -measure integer-number
• modify the waiting time in ms between two measurements using - -time integer-number
• see all the options available using - -help
3
Figure 3: Phase delay versus time
4
Bibliography
[1] Francesco F Cafagna. The totem precision clock system. CERN geneve, 2016.
[2] JDSU Company. Map-200 programming manual.
[3] Rhode and Schwarz. Zvl vector network analyzer operating manual. Rhode and Schwarz Company,
2015.