NAME
Lab::Moose::Instrument::Keithley2450 - Keithley 2450 voltage/current sourcemeter.
VERSION
version 3.901
SYNOPSIS
use Lab::Moose;
my $smu = instrument(
type => 'Keithley2450',
connection_type => 'LinuxGPIB',
connection_options => {gpib_address => 15},
# mandatory protection settings
max_units_per_step => 0.001, # max step is 1mV/1mA
max_units_per_second => 0.01,
min_units => -10,
max_units => 10,
);
### Sourcing
# Source voltage
$smu->source_function(value => 'VOLT');
$smu->source_range(value => 210);
# Step-sweep to new level.
# Stepsize and speed is given by (max|min)_units* settings.
$smu->set_level(value => 9);
# Get current level from device cache (without sending a query to the
# instrument):
my $level = $smu->cached_level();
### Measurement
# Measure current
$smu->sense_function(value => 'CURR');
$smu->sense_nplc(value => 2);
# Get value of current
my $current = $smu->get_value();
METHODS
Used roles:
- Lab::Moose::Instrument::Common
- Lab::Moose::Instrument::SCPI::Output::State
- Lab::Moose::Instrument::SCPI::Sense::Range
- Lab::Moose::Instrument::SCPI::Sense::NPLC
- Lab::Moose::Instrument::SCPI::Source::Function
- Lab::Moose::Instrument::SCPI::Source::Level
- Lab::Moose::Instrument::SCPI::Source::Range
- Lab::Moose::Instrument::LinearStepSweep
set_level
$smu->set_level(value => $new_level);
Go to new level. Sweep with multiple steps if the distance between current and new level is larger than max_units_per_step
.
get_value
my $value = $smu->get_value();
Perform measurement of value defined by sense_function
.
source_limit/source_limit_query
Set current compliance limit of voltage source to 1mA
$smu->source_function(value => 'VOLT');
$smu->source_limit(value => 1e-3);
Set voltage compliance limit of current source to 1V
$smu->source_function(value => 'CURR');
$smu->source_limit(value => 1);
Get current source limit my $limit = $smu->source_limit_query();
cached_level
my $current_level = $smu->cached_level();
Get current value from device cache.
get_level
my $current_level = $smu->get_level();
Query current level.
set_voltage
$smu->set_voltage($value);
For XPRESS voltage sweep. Equivalent to set_level(value => $value)
.
COPYRIGHT AND LICENSE
This software is copyright (c) 2023 by the Lab::Measurement team; in detail:
Copyright 2021 Simon Reinhardt
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.