NAME

Lab::Instrument::OI_Mercury::Magnet - Oxford Instruments Mercury Cryocontrol magnet power supply

VERSION

version 3.613

SYNOPSIS

use Lab::Instrument::OI_Mercury::Magnet;

my $m=new Lab::Instrument::OI_Mercury(
  connection_type=>'Socket', 
  remote_port=>7020, 
  remote_addr=>1.2.3.4,
  blabla ....
);

DESCRIPTION

The Lab::Instrument::OI_Mercury::Magnet class implements an interface to the Oxford Instruments Mercury magnet power supply units.

The Mercury uses a command language that looks a bit like SCPI but is actually incompatible with that specification.

METHODS

get_temperature

$t=$m->get_temperature('MB1.T1');

Read out the designated temperature channel. Result is in Kelvin.

get_catalogue

$mcat=$m->get_catalogue();
print "$mcat\n";

Returns the hardware configuration of the Mercury system. A typical response would be

STAT:SYS:CAT:DEV:GRPX:PSU:DEV:MB1.T1:TEMP:DEV:GRPY:PSU:DEV:GRPZ:PSU:DEV:PSU.M1:PSU:DEV:PSU.M2:PSU:DEV:GRPN:PSU:DEV:DB5.L1:LVL

Here, each group starting with "DEV:" describes one hardware component. In this case, we obtain for example:

DEV:GRPX:PSU     |
DEV:GRPY:PSU     |- a 3-axis magnet power supply unit
DEV:GRPZ:PSU     |
DEV:MB1.T1:TEMP  -- a temperature sensor
DEV:DB5.L1:LVL   -- a cryogen level sensor

In each of these blocks, the second component after "DEV:" is the UID of the device; it can be used in other commands such as get_level to address it.

oim_get_current

$t=$m->oim_get_current();

Reads out the momentary current of the PSU in Ampere. Only Z for now.

TODO: what happens if we're in persistent mode?

oim_get_heater

$t=$m->oim_get_heater();

Returns the persistent mode switch heater status as "ON" or "OFF".

oim_set_heater

Switches the persistent mode switch heater. Parameter is "ON" or "OFF". Nothing happens if the power supply thinks the magnet current and the lead current are different.

oim_force_heater

Switches the persistent mode switch heater. Parameter is "ON" or "OFF".

Dangerous. Works also if magnet and lead current are differing.

oim_get_sweeprate

Gets the current target sweep rate (i.e., the sweep rate with which we want to go to the target; may be bigger than the actual rate if it is hardware limited), in Ampere per minute.

oim_set_sweeprate

Sets the desired target sweep rate, parameter is in Amperes per minute.

oim_set_activity

Sets the current activity of the power supply. Values are:

HOLD - hold current
RTOS - ramp to set point
RTOZ - ramp to zero
CLMP - clamp output if current is zero

oim_get_activity

Retrieves the current power supply activity. See oim_set_activity for values.

oim_set_setpoint

Sets the current set point in Ampere.

oim_get_fieldconstant

Returns the current to field factor (A/T)

CAVEATS/BUGS

probably many

SEE ALSO

Lab::Instrument

COPYRIGHT AND LICENSE

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

Copyright 2017       Andreas K. Huettel, 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.