NAME
Lab::Instrument::HP34401A - HP/Agilent 34401A digital multimeter
VERSION
version 3.751
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
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) 2021 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.