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 (deprecated)

VERSION

version 3.899

SYNOPSIS

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

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/.

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

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, $resolution);

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 or MIN MAX DEF. This implicitly sets the provided resolution.

$resolution sets the resolution of the measurment. If set, $integration_time is overwritten.

configure_voltage_dc_trigger

        $hp->configure_voltage_dc_trigger($range, $integration_time, $count, $delay, $resolution)

Configures the device for successive triggered reading events. Does not initiate the trigger facility. Reading can then be performed calling triggered_read(). The first three parameters are just passed to configure_voltage_dc.

$count is an integer for the number of successive readings that follow one single trigger event.

$delay is the delay in seconds between these readings.

triggered_read

        @data = $hp->triggered_read();

Sends a trigger pulse and fetches the values from the instrument buffer once the reading is finished.

read_trig()

Sends a read trigger to the device. It does not initialize the trigger facility.

init()

Initializes the trigger facility. The device is then in the state "waiting for trigger".

get_value

        $data = hp->get_value();

Inherited from Lab::Instrument::Multimeter. Performs a single reading in the current configuration.

get_voltage_dc

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

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

get_voltage_ac

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

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

get_current_dc

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

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

get_current_ac

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

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

get_resistance

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

Preset and measure resistance with specified range and resolution.

get_4wresistance

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

Preset and measure the four way resistance with specified range and resolution.

get_status()

Returns a status string from the device.

get_error()

Returns the error string from the device.

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").

$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->trigger_mode($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.

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

COPYRIGHT AND LICENSE

This software is copyright (c) 2023 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       Alois Dirnaichner, Andreas K. Huettel
            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.