Lab::Instrument::ILM - Oxford Instruments ILM Intelligent level meter


Lab-Instrument documentation Contained in the Lab-Instrument distribution.

Index


Code Index:

NAME

Top

Lab::Instrument::ILM - Oxford Instruments ILM Intelligent level meter

SYNOPSIS

Top

    use Lab::Instrument::ILM;

    my $ilm=new Lab::Instrument::ILM($isobus,3);
    print $ilm->get_level();

DESCRIPTION

Top

The Lab::Instrument::ILM class implements an interface to the Oxford Instruments ILM helium level meter (tested with the ILM210).

CONSTRUCTOR

Top

    my $ilm=new Lab::Instrument::ILM($isobus,$addr);

Instantiates a new ILM object, for example attached to the IsoBus device (of type Lab::Instrument::IsoBus) $IsoBus, with IsoBus address $addr. All constructor forms of Lab::Instrument are available.

METHODS

Top

get_level

    $perc=$ilm->get_level();
    $perc=$ilm->get_level(1);

Reads out the current helium level in percent. Note that this command does NOT trigger a measurement, but only reads out the last value measured by the ILM. This means that in slow mode values may remain constant for several minutes.

As optional parameter a channel number can be provided. This defaults to 1.

CAVEATS/BUGS

Top

probably many

SEE ALSO

Top

Lab::Instrument

AUTHOR/COPYRIGHT

Top


Lab-Instrument documentation Contained in the Lab-Instrument distribution.

#$Id: ILM.pm 613 2010-04-14 20:40:41Z schroeer $

package Lab::Instrument::ILM;

use strict;
use Lab::Instrument;

our $VERSION = sprintf("0.%04d", q$Revision: 613 $ =~ / (\d+) /);

sub new {
    my $proto = shift;
    my $class = ref($proto) || $proto;
    my $self = {};
    bless ($self, $class);
    $self->{vi}=new Lab::Instrument(@_);
    return $self;
}

sub get_level {
  my $self = shift;
  my $channel = shift;
  $channel = "1" unless defined($channel);
  
  my $level=$self->{vi}->Query("R$channel");
  $level=~s/^R//;
  $level/=10;
  return $level;  
};

1;