The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Lab::Instrument::OI_Mercury - Oxford Instruments Mercury Cryocontrol (level meter and magnet power supply)

VERSION

version 3.600

SYNOPSIS

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

DESCRIPTION

The Lab::Instrument::OI_Mercury class implements an interface to the Oxford Instruments Mercury cryostat control system.

METHODS

get_he_level

   $he=$m->get_he_level('DB5.L1');

Read out the designated liquid helium level meter channel. Result is in percent as calibrated.

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

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

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.

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 2013       Andreas K. Huettel
            2016       Simon Reinhardt
            2017       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.