Back to Search Start Over

Lab::Measurement—A portable and extensible framework for controlling lab equipment and conducting measurements.

Authors :
Reinhardt, S.
Butschkow, C.
Geissler, S.
Dirnaichner, A.
Olbrich, F.
Lane, C.E.
Schröer, D.
Hüttel, A.K.
Source :
Computer Physics Communications. Jan2019, Vol. 234, p216-222. 7p.
Publication Year :
2019

Abstract

Abstract 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 [1], USB Test & Measurement [2], or, e.g., VXI-11 [3] 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. Program summary Program Title: Lab::Measurement 3.660 Program Files doi: http://dx.doi.org/10.17632/d8rgrdc7tz.1 Program Homepage: https://www.labmeasurement.de Licensing provisions: GNU GPL v2 3 3 The precise license terms are more permissive. Lab::Measurement is distributed under the same licensing conditions as Perl 5 itself, a frequent choice in the Perl ecosystem. This means that it can be used and distributed according to the terms of either the GNU General Public License (version 1 or any later version) or the Artistic License; the choice of license is up to the user. Programming language: Perl 5 Nature of problem: Flexible, lightweight, and operating system independent control of laboratory equipment connected by diverse means such as IEEE 488 [1], USB [2], or VXI-11 [3]. This includes running measurements with nested measurement loops where a data plot is continuously updated, as well as background processes for logging and control. Solution method: Object-oriented layer model based on Moose [4], abstracting the hardware access as well as the command sets of the addressed instruments. A high-level interface allows simple creation of measurement loops, live plotting via GnuPlot [5], and data logging into customizable folder structures. [1] F. M. Hess, D. Penkler, et al., LinuxGPIB. Support package for GPIB (IEEE 488) hardware, containing kernel driver modules and a C user-space library with language bindings. http://linux-gpib.sourceforge.net/ [2] USB Implementers Forum, Inc., Universal Serial Bus Test and Measurement Class Specification (USBTMC), revision 1.0 (2003). http://www.usb.org/developers/docs/devclass%5fdocs/ [3] VXIbus Consortium, VMEbus Extensions for Instrumentation VXIbus TCP/IP Instrument Protocol Specification VXI-11 (1995). http://www.vxibus.org/files/VXI%5fSpecs/VXI-11.zip [4] Moose—Apostmodern object system for Perl 5. http://moose.iinteractive.com [5] E. A. Merritt, et al., Gnuplot. An Interactive Plotting Program. http://www.gnuplot.info/ [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISSN :
00104655
Volume :
234
Database :
Academic Search Index
Journal :
Computer Physics Communications
Publication Type :
Periodical
Accession number :
132425260
Full Text :
https://doi.org/10.1016/j.cpc.2018.07.024