NAME
Lab::Bus::VISA - National Instruments VISA bus (deprecated)
VERSION
version 3.899
SYNOPSIS
This is the VISA bus class for the NI VISA library.
my $visa = new Lab::Bus::VISA();
or implicit through instrument creation:
my $instrument = new Lab::Instrument::HP34401A({
  BusType => 'VISA',
}
DESCRIPTION
This module belongs to a deprecated legacy module stack, frozen and not under development anymore. Please port your code to the new API; its documentation can be found on the Lab::Measurement homepage, https://www.labmeasurement.de/.
soon
CONSTRUCTOR
new
my $bus = Lab::Bus::VISA({
 });
Return blessed $self, with @_ accessible through $self->config().
Options: none
Thrown Exceptions
Lab::Bus::VISA throws
Lab::Exception::VISAError
  fields:
  'status', the raw ibsta status byte received from linux-gpib
Lab::Exception::VISATimeout
  fields:
  'data', this is meant to contain the data that (maybe) has been read/obtained/generated despite and up to the timeout.
  ... and all the fields of Lab::Exception::GPIBError
METHODS
connection_new
$visa->connection_new({ resource_name => "GPIB0::14::INSTR" });
Creates a new instrument handle for this bus.
The handle is usually stored in an instrument object and given to connection_read, connection_write etc. to identify and handle the calling instrument:
$InstrumentHandle = $visa->connection_new({ resource_name => "GPIB0::14::INSTR" });
$result = $visa->connection_read($self->InstrumentHandle(), { options });
See Lab::Instrument::Read().
connection_write
$visa->connection_write( $InstrumentHandle, { command => $command, wait_status => $wait_status } );
Sends $command to the instrument specified by the handle, and waits $wait_status microseconds before evaluating the status.
connection_read
$visa->connection_read( $InstrumentHandle, { command => $command, read_length => $read_length, brutal => 0/1 } );
Sends $Command to the instrument specified by the handle. Reads back a maximum of $readlength bytes. If a timeout or an error occurs, Lab::Exception::VISAError or Lab::Exception::VISATimeout are thrown, respectively. The Timeout object carries the data received up to the timeout event, accessible through $Exception->Data().
Setting Brutal to a true value will result in timeouts being ignored, and the gathered data returned without error.
connection_query
$visa->connection_query( $InstrumentHandle, { command => $command, read_length => $read_length, wait_status => $wait_status, wait_query => $wait_query, brutal => 0/1 } );
Performs an connection_write followed by an connection_read, each given the supplied parameters. Waits $wait_query microseconds betweeen Write and Read.
CAVEATS/BUGS
Few. Not a lot to be done here.
SEE ALSO
and many more...
COPYRIGHT AND LICENSE
This software is copyright (c) 2023 by the Lab::Measurement team; in detail:
Copyright 2010       Andreas K. Huettel
          2011       Andreas K. Huettel, Florian Olbrich
          2012       Alois Dirnaichner, Andreas K. Huettel, Florian Olbrich, Stefan Geissler
          2013       Andreas K. Huettel, Christian Butschkow
          2016       Simon Reinhardt
          2017       Andreas K. Huettel
          2020       Andreas K. Huettel
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.