The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Lab::Instrument::HP34420A - HP/Agilent 34420A digital multimeter

VERSION

version 3.554

SYNOPSIS

  use Lab::Instrument::HP34420A;
  
  my $Agi = new Lab::Instrument::HP34420A({
    connection => new Lab::Connection::GPIB(
                gpib_board => 0,
                gpib_address => 14,
        ),
  }

DESCRIPTION

The Lab::Instrument::HP34420A class implements an interface to the 34420A digital multimeter by Agilent (formerly HP). This module is in big parts equal to the 34410A and 34411A multimeter drivers.

CONSTRUCTOR

    my $Agi=new(\%options);

METHODS

fetch

        $hp->fetch();

Fetches the instrument buffer. Returns an array of values.

autozero

    $hp->autozero($setting);

$setting can be 1/'ON', 0/'OFF' or 'ONCE'.

When set to "ON", the device takes a zero reading after every measurement. "ONCE" perform one zero reading and disables the automatic zero reading. "OFF" does... you get it.

configure_voltage_dc

    $hp->configure_voltage_dc($range, $integration_time);

Configures all the details of the device's DC voltage measurement function.

$range is a positive numeric value (the largest expected value to be measured) or one of 'MIN', 'MAX', 'AUTO'. It specifies the largest value to be measured. You can set any value, but the HP/Agilent 34401A effectively uses one of the values 0.1, 1, 10, 100 and 1000V.

$integration_time is the integration time in seconds. This implicitly sets the provided resolution.

pl_freq Parameter: pl_freq

        $hp->pl_freq($new_freq);
        $npl_freq = $hp->pl_freq();

Get/set the power line frequency at your location (50 Hz for most countries, which is the default). This is the basis of the integration time setting (which is internally specified as a count of power line cycles, or PLCs). The integration time will be set incorrectly if this parameter is set incorrectly.

set_display_text

    $Agi->display_text($text);
    print $Agi->display_text();

Display a message on the front panel. The multimeter will display up to 12 characters in a message; any additional characters are truncated. Without parameter the displayed message is returned. Inherited from Lab::Instrument::Multimeter

set_display_state

    $Agi->set_display_state($state);

Turn the front-panel display on ($state = "ON") or off ($state = "OFF").

get_resistance

    $resistance=$Agi->get_resistance($range,$resolution);

Preset and measure resistance with specified range and resolution.

get_voltage_dc

    $datum=$Agi->get_voltage_dc($range,$resolution);

Preset and make a dc voltage measurement with the specified range and resolution.

$range

Range is given in terms of volts and can be [0.1|1|10|100|1000|MIN|MAX|DEF]. DEF is default.

$resolution

Resolution is given in terms of $range or [MIN|MAX|DEF]. $resolution=0.0001 means 4 1/2 digits for example. The best resolution is 100nV: $range=0.1; $resolution=0.000001.

get_voltage_ac

    $datum=$Agi->get_voltage_ac($range,$resolution);

Preset and make an ac voltage measurement with the specified range and resolution. For ac measurements, resolution is actually fixed at 6 1/2 digits. The resolution parameter only affects the front-panel display.

get_current_dc

    $datum=$Agi->get_current_dc($range,$resolution);

Preset and make a dc current measurement with the specified range and resolution.

get_current_ac

    $datum=$Agi->get_current_ac($range,$resolution);

Preset and make an ac current measurement with the specified range and resolution. For ac measurements, resolution is actually fixed at 6 1/2 digits. The resolution parameter only affects the front-panel display.

configure_voltage_dc_trigger

        $device->configure_voltage_dc_trigger($intt, $range, $count, $delay, $resolution)

Configure the multimeter for a triggered reading.

$intt

The integration time in seconds. You can also set "MIN" or "MAX". This value is overwritten if the resolution is specified.

$range

The range for the measurment.

$count

The number of measurements which are performed after one single trigger impulse.

$delay

The delay between the $count measurements (the integration time is not included).

$resolution

The resolution for the measurement. If given, this overwrites the $intt parameter.

trigger_read

        $data = $device->trigger_read()

Sends a trigger signal and fetches the value(s) from the multimeter.

trigger

        $device->trigger()

Sends a trigger signal to the device.

fetch

        $data = $device->fetch()

Fetches the data which is currently in the output buffer of the device.

beep

    $Agi->beep();

Issue a single beep immediately.

get_error

    ($err_num,$err_msg)=$Agi->get_error();

Query the multimeter's error queue. Up to 20 errors can be stored in the queue. Errors are retrieved in first-in-first out (FIFO) order.

reset

    $Agi->reset();

Reset the multimeter to its power-on configuration.

CAVEATS/BUGS

probably many

SEE ALSO

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by the Lab::Measurement team; in detail:

  Copyright 2005-2006  Daniel Schroeer
            2009       Andreas K. Huettel, Daniela Taubert
            2010       Andreas K. Huettel, Daniel Schroeer
            2011       Andreas K. Huettel, Florian Olbrich
            2012       Alois Dirnaichner, Florian Olbrich
            2013       Andreas K. Huettel
            2016       Simon Reinhardt
            2017       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.