NAME

Lab::Moose::Instrument::OI_IPS - Oxford Instruments IPS Intelligent Power Supply

VERSION

version 3.761

SYNOPSIS

use Lab::Moose;

# Constructor
my $ips = instrument(
    type => 'OI_IPS',
    connection_type => 'LinuxGPIB',
    connection_options => {pad => 10},
    
    # safety limits, should be fixed in a subclass of this driver
    max_fields => [7, 10],          # absolute maximum field of 10T
    max_field_rates => [0.1, 0.05], # 0.1 T/min maximum rate in range 0T..7T
                                    # 0.05 T/min maximum rate in range 7T..10T
);


# Get field
my $field = $ips->get_field();

# Sweep to 1T with rate 0.1T/min

$ips->sweep_to_field(target => 1, rate => 0.1);

METHODS

sweep_to_field

my $new_field = $ips->sweep_to_field(
   target => $target_field, # Tesla
   rate => $rate, # Tesla/min
);

config_sweep

$ips->config_sweep(point => $target, rate => $rate);

Only define setpoints, do not start sweep.

set_control

$ips->set_control(value => 1);

Set device local/remote mode (0, 1, 2, 3)

set_communications_protocol

$ips->set_communications_protocol(value => 0);

Allowed values: 0, 2, 4, 6.

This driver sets the protocol to 4 "Extended Resolution" on startup.

examine_status

my $status = $ips->examine_status();

Return status (XmnAnCnHnMmnPmn).

active

my $status = $ips->active();

Return true value if IPS is sweeping. Return false when sweep finished.

in_persistent_mode

if ($ips->in_persistent_mode()) {
   ...
}

Return 1 if in persistent mode; otherwise return false.

wait

$ips->wait();

Wait until current sweep is finished. Print status messages if verbose attribute was set in constructor (default).

read_parameter

my $value = $ips->read_parameter(value => 1);

Allowed values for value are 0..13

get_field

my $field = $ips->get_field();

Return current field (Tesla).

get_value

Alias for "get_field"

set_switch_heater

$ips->set_switch_heater(value => 0); # Heater off
$ips->set_switch_heater(value => 1); # Heater on (only done if magnet current equals power supply current)

get_switch_heater

my $switch = $ips->get_switch_heater();

Return values:

0: Off Magnet at Zero (switch closed)
1: On (switch open)
2: Off Magnet at Field (switch closed)
5: Heater Fault (heater is on but current is low)
8: No Switch Fitted

Consumed Roles

This driver consumes the following roles:

COPYRIGHT AND LICENSE

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

Copyright 2019       Simon Reinhardt
          2020       Andreas K. Huettel, Simon Reinhardt
          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.