Lab::Measurement - A portable and extensible framework for controlling lab equipment and conducting measurements
This provides a domain-specific tool for researchers in physics and engineering labs to automate equipment control and measurements, though it is incremental as it builds on existing protocols and software practices.
The authors tackled the problem of automating test and measurement in labs, particularly for mesoscopic physics, by developing Lab::Measurement, a portable and extensible Perl framework that supports various communication protocols and includes high-level automation features.
Lab::Measurement is a framework for test and measurement automatization using Perl 5. While primarily developed with applications in mesoscopic physics in mind, it is widely adaptable. Internally, a layer model is implemented. Communication protocols such as IEEE 488, USB Test & Measurement, or, e.g., VXI-11 are addressed by the connection layer. The wide range of supported connection backends enables unique cross-platform portability. At the instrument layer, objects correspond to equipment connected to the measurement PC (e.g., voltage sources, magnet power supplies, multimeters, etc.). The high-level sweep layer automates the creation of measurement loops, with simultaneous plotting and data logging. An extensive unit testing framework is used to verify functionality even without connected equipment. Lab::Measurement is distributed as free and open source software.