The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Lab::Moose::Instrument::Keithley2000 - Keithley 2000 digital multimeter

VERSION

version 3.901

SYNOPSIS

 use Lab::Moose;

 my $DMM= instrument(
     type => 'Keithley2000',
     connection_type => 'LinuxGPIB',
     connection_options => {gpib_address => 15},
 );

DESCRIPTION

The Lab::Moose::Instrument::Keithley2000 class implements an interface to the Keithley 2000 digital multimeter.

METHODS

Used roles:

Lab::Moose::Instrument::Common
Lab::Moose::Instrument::SCPI::Sense::Function
Lab::Moose::Instrument::SCPI::Sense::NPLC
Lab::Moose::Instrument::SCPI::Sense::Range
Lab::Moose::Instrument::SCPI::Format
Lab::Moose::Instrument::SCPI::Initiate

get_value

        $DMM->get_value(value = $function);

Make a measurement defined by $function with the previously specified range and integration time.

$function
 FUNCTION  can be one of the measurement methods of the Keithley2000.

        "current:dc" --> DC current measurement
        "current:ac" --> AC current measurement
        "voltage:dc" --> DC voltage measurement
        "voltage:ac" --> AC voltage measurement
        "resisitance" --> resistance measurement (2-wire)
        "fresistance" --> resistance measurement (4-wire)

config_measurement

        $DMM->config_measurement(function => $function, $nop => $number_of_points, $time => time, range => $range, trigger => $trigger);

Preset the Keithley2000 for a TRIGGERED measurement.

WARNING: It's not recomended to perform triggered measurments with the KEITHLEY 2000 DMM due to unsolved timing problems!!!!!

OPTIONAL $function
 FUNCTION  can be one of the measurement methods of the Keithley2000.

        "current:dc" --> DC current measurement
        "current:ac" --> AC current measurement
        "voltage:dc" --> DC voltage measurement
        "voltage:ac" --> AC voltage measurement
        "resisitance" --> resistance measurement (2-wire)
        "fresistance" --> resistance measurement (4-wire)
$number_of_points

Preset the NUMBER OF POINTS to be taken for one measurement TRACE . The single measured points will be stored in the internal memory of the Keithley2000. For the Keithley2000 the internal memory is limited to 1024 values.

$time

Preset the TIME duration for one full trace. From TIME the integration time value for each measurement point will be derived [NPLC = (TIME *50Hz)/NOP]. Expected values are between 0.21 ... 20000 seconds.

OPTIONAL $range
 RANGE  is given in terms of amps, volts or ohms and can be   0...+3,03A | MIN | MAX | DEF | AUTO  ,   0...757V(AC)/1010V(DC) | MIN | MAX | DEF | AUTO   or   0...101e6 | MIN | MAX | DEF | AUTO  .
 DEF  is default  AUTO  activates the AUTORANGE-mode.
 DEF  will be set, if no value is given.
OPTIONAL $trigger
 Set the TRIGGER

trg

    $DMM->trg();

Sends a trigger signal via the GPIB-BUS to start the predefined measurement. The LabVisa-script can immediatally be continued, e.g. to start another triggered measurement using a second Keithley2000.

abort

        $DMM->abort();

Aborts current (triggered) measurement.

wait

        $DMM->wait();

WAIT until triggered measurement has been finished.

active

        $DMM->active();

Returns '1' if the current triggered measurement is still active and '0' if the current triggered measurement has allready been finished.

get_data

        @data = $DMM->get_data();

Reads all recorded values from the internal buffer and returnes them as an array of floatingpoint values. Reading the buffer will start immediately after the triggered measurement has finished. The LabVisa-script cannot be continued until all requested readings have been recieved.

display

    $DMM->display(value => 'ON');

Control the K2000s display, $value can be

ON
 Turn on the display
OFF
 Turn off the display
CLEAR
 Clear the display
your text
 Display a custom text

beep

    $DMM->beep();

Make a beep sound

CAVEATS/BUGS

probably many

SEE ALSO

Lab::Instrument

COPYRIGHT AND LICENSE

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

  Copyright 2021       Andreas K. Huettel, Fabian Weinelt

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