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

NAME

Lab::Instrument::HP34401A - HP/Agilent 34401A digital multimeter

SYNOPSIS

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

DESCRIPTION

The Lab::Instrument::HP34401A class implements an interface to the 34401A digital multimeter by Agilent (formerly HP). This module can also be used to address the newer 34410A and 34411A multimeters, but doesn't include new functions. Use the Lab::Instrument::HP34411A class for full functionality (not ported yet).

CONSTRUCTOR

    my $Agi=new(\%options);

METHODS

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.

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

display_on

    $Agi->display_on();

Turn the front-panel display on. Inherited from Lab::Instrument::Multimeter

display_off

    $Agi->display_off();

Turn the front-panel display off. Inherited from Lab::Instrument::Multimeter

display_clear

    $Agi->display_clear();

Clear the message displayed on the front panel. Inherited from Lab::Instrument::Multimeter

id

    $id=$Agi->id();

Returns the instrument ID string. Inherited from Lab::Instrument::Multimeter

get_value

Inherited from Lab::Instrument::Multimeter

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.

beep

get_error

reset

config_voltage

    $inttime=$Agi->config_voltage($digits,$range,$count);

Configures device for measurement with specified number of digits (4 to 6), voltage range and number of data points. Afterwards, data can be taken by triggering the multimeter, resulting in faster measurements than using read_voltage_xx. Returns string with integration time resulting from number of digits.

get_with_trigger_voltage_dc

    @array = $Agi->get_with_trigger_voltage_dc()

Take data points as configured with config_voltage(). returns an array.

scroll_message

    $Agi->scroll_message($message);

Scrolls the message $message on the display of the HP.

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

AUTHOR/COPYRIGHT

  Copyright 2004-2006 Daniel Schröer (<schroeer@cpan.org>), 2009-2010 Daniela Taubert, 
            2011 Florian Olbrich, Andreas Hüttel

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.