SECoP: The Sample Environment Communication Protocol
Sample Environment is a very fundamental detail of a neutron experiment. For instance, it cools or heats your sample, defines the humidity the sample is exposed to, or provides an electric or magnet field at the sample position. Years of developing sample environment equipment has led to a wealth of available conditions to study samples in – from conducting in-situ measurements to looking at something at only a few degrees Kelvin. However, these amazing development efforts become difficult to use to full capacity if the software control of the equipment is incompatible with an instrument, difficult and time-consuming to install or just too inconvenient to use.
So along comes SINE2020 with a solution. A working group was formed consisting of sample environment experts from HZB, ESS, MLZ and PSI to complete Task 7.1 of the Sample Environment Work Package: to create the Sample Environment Communication Protocol (SECoP). The idea: to ease and simplify the integration of any sample environment equipment into beamline experiments at any scattering facility by defining a standard communication “language” used by the equipment that is recognized everywhere.
Members of the working group are: Klaus Kiefer (HZB), Frank Wutzler (HZB), Lutz Rossa (HZB), Anders Pettersson (ESS), Niklas Ekström (ESS), Enrico Faulhaber (MLZ), and Markus Zolliker (PSI). The group also worked closely with the Committee for the Standardization of Sample Environment Communication of the International Society for Sample Environment (ISSE) headed by Markus Zolliker and with experts from all European neutron scattering facilities involved in SINE2020.
Over 4 years and countless meetings, held over the world, these dedicated people have worked tirelessly to create a simple, inclusive and self-describing protocol suitable for all scattering facilities (neutrons, synchrotrons) and all types of user (non-expert, industrial).
Simplicity: The protocol makes sample environment equipment easy to install and implement even by non-expert programmers. It can be used by limited capacity hardware and for complex sample environment equipment.
Inclusivity: The protocol allows for different design concepts and a variety of existing experiment control software. It is also compatible with diverse systems so it does not force facilities to change the way they already work in order to fulfil the SECoP requirements. SECoP has also been defined in a way that has room for possible future extensions.
Self-descriptive: The protocol transports metadata as well as pure data so that experiment control software can retrieve all the relevant information it needs for operation on its own, thus reducing the integration process and at the same time safeguarding good metadata practice. This effectively makes sample environment equipment “plug-and-play” and therefore sharable between facilities.
Some of the SECoP team
During the process, the protocol has been constantly tested by the different partners and adapted to improve its feasibility and interoperability characteristics. A resistive magnet and a radiation oven from MLZ have so far been successfully integrated at PSI and ILL respectively with the help of SECoP.
Version 1.00ß of SECoP is freely available online on GitHub since November 2018, where SECoP’s structure, rules syntax and components are defined. Everything is open source and is presently under the MIT License. GitHub also provides a platform for further discussion of ongoing issues. Comments and improvements are invited from test users so that minor corrections can be applied. The official release of Version 1.00 is foreseen for the end of SINE2020, offering additional support/integration software packages and code libraries for easy implementation.
Now SECoP has been defined, it is hoped it will be embraced as an international standard at all facilities. Industrial companies are also positive about the protocol with many intending to adopt it in their products.
A common communication protocol for sample environment equipment will dramatically ease the integration of sample environment equipment, simplify collaborations with users and industrial partners – thus encouraging new and non-expert users – and allow sharing of sample environment equipment: developed by 1 facility, shared by all.
“One benefit of SECoP will be to circulate expensive devices between different facilities with minimised effort for configuration and integration. This should result in an increased utilisation of expensive equipment.” – From https://github.com/SampleEnvironment/SECoP/blob/master/protocol/motivation.rst
More information can be found at sampleenvironment.org and https://github.com/SampleEnvironment/SECoP
Acknowledgements: Klaus Kiefer, HZB