Profile & Competences

The Controls group has extensive knowledge on supervisory Control Systems, hardware integration therein, as well collaborative software development processes. 

Most of the our daily software engineering tasks are done in the Python and C++ languages. We have a culture of collaborative code development, which includes mandatory review and discussion of any contribution, as well as extensive use of contiuous integration and application scale testing.

Specifically, most members of the group are familiar with asyncronous programming in Python (asyncio) and C++ (boost). Significant experience in template meta-programming, descriptor-based design patterns and the Qt GUI framework exists. Our deployment works on top of Ansible, and we use Influx (both InfluxQL and Flux) for data logging and exploration.

The group has integrated a large variety of hardware for the facility. Recurrently, we handle SCPI and other serial devices, Beckhoff PLC integration, various types of motion systems, as well as camera integration based on the Aravis, LiMa and Genicam libraries.