About IFAE
The Institute for High Energy Physics (IFAE) at Universitat Autònoma de Barcelona is a world-leading organization in experimental and theoretical Particle Physics, Astrophysics, and Cosmology research.
The Cherenkov Telescope Array (CTA) is the advanced facility for ground-based, very-high-energy gamma-ray astronomy in which IFAE participates. It builds on mastering the Imaging Atmospheric Cherenkov Telescope technique developed by the H.E.S.S., MAGIC, and VERITAS installations. The three approaches have proven to be highly successful for gamma rays of energies above a few tens of GeV and have wide-opened a new window in astronomy.
As part of the CTA project, IFAE oversees integrating and commissioning the camera of the biggest telescope in the Array, the Large Size Telescope 1. As part of integrating the camera’s different subsystems, IFAE develops the software that controls and monitors the camera. Among other functionalities, the software exports the values from the 1855 detectors inside the camera for monitoring purposes. Each detector called a pixel, generates 10-15 variables associated with its functionality, and all this information must be controlled and monitored remotely by a central unit. All telescope subsystems use OPC UA communication to reduce the integration effort of the whole system.
At the beginning of the project, IFAE looked for a robust, flexible, and cross-platform solution for interchange communication between different subsystems. The OPC UA protocol met the requirements while also allowing standardization of middleware communications between various institutes for a big project like CTA. OPC UA allows method calling, reading variable values, retrieving historical values, and even subscribing to them, allowing complete control over the system.
Among all the different solutions, IFAE tried different implementations of the OPC UA protocol and found the Prosys OPC UA SDK for Java to be the most complete. IFAE not only uses the SDK’s Client-Server libraries but also the standard client for testing their servers.
Big projects like CTA can get stuck for a long time because sharing information between systems can be very problematic, and the code can get really messy if each system uses a different library for this. Using OPC UA helped us define a perfect way to export all the functionality from our logic in a robust and flexible way. Concretely, I found the Prosys OPC UA SDK for Java implementation to be the best I tried, giving us all the functionality from OPC UA that our project demands. With their documentation, examples, and tools, it was very easy to develop and deploy our application.
Cristobal Pio Garcia
Software Engineer, IFAE