
Lab::VISA allows to perform test and measurement tasks with Perl scripts. It provides an interface to National Instruments' NI-VISA library, making the standard VISA calls available to Perl programs. Dedicated instrument driver classes relieve the user from taking care for internal details and make data aquisition as easy as
$voltage = $multimeter->read_voltage();
The Lab::VISA software stack comprises three parts that are built on top of each other and provide increasing comfort. Measurement scripts can be based on any of these stages.
The lowest level is Lab::VISA. It makes the NI-VISA library accessible from Perl and thus allows to make any standard VISA call.
The modules in the Lab::Instrument package make communication with instruments easier by silently handling the protocol overhead.
Package Lab::Tools is the highest abstraction layer and is intended to support writing better measurement scripts. The modules in this package offer means to log and plot data and its related meta information.
These packages together are referred to as the Lab::VISA system. Encapsulating the complexity of VISA calls into a straightforward to use library, the Lab::VISA system is designed to make data aquisition fun.
The packages are free software and can be downloaded from CPAN. Follow these links for
Quite some documentation of Lab::VISA (PDF format) is available. This documentation includes a tutorial on using Lab::VISA. Detailed installation instructions are provided as well.
These presentation slides on Lab::VISA introduce the system and discuss a number of examples, which are contained in the Lab::VISA package.
There is a mailing list (lab-visa-users) set up for Lab::VISA. This mailing list is the right place to give feedback and ask for help.
National Instruments offers excellent documentation. We especially recommend the NI-VISA User Manual, the NI-VISA Programmer Reference Manual and these references of VISA resource names and VISA error codes.
Although this software has been used for years in real world measurements by its developers, it remains work in progress. Please bear with us while we constantly improve code and documentation.
Lab::VISA is currently developed and employed at nanophysics group, LMU München and mesoscopic physics group, Uni Regensburg. Users have reported further applications in academic and industrial r&d environments.
The Lab::VISA system was originally developed by Daniel Schröer and is now continued by Andreas K. Hüttel, Daniela Taubert, and Daniel Schröer. Most of the documentation was written by Daniel Schröer.