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

NAME

Lab::Instrument::YokogawaGS200 - Yokogawa GS200 DC source

SYNOPSIS

    use Lab::Instrument::YokogawaGS200;
    
    my $gate14=new Lab::Instrument::YokogawaGS200(
      connection_type => 'LinuxGPIB',
      gpib_address => 22,
      function => 'VOLT',
      level => 0.4,
    );
    $gate14->set_voltage(0.745);
    print $gate14->get_voltage();

DESCRIPTION

The Lab::Instrument::YokogawaGS200 class implements an interface to the discontinued voltage and current source GS200 by Yokogawa. This class derives from Lab::Instrument::Source and provides all functionality described there.

CONSTRUCTORS

new( %configuration_HASH )

HASH is a list of tuples given in the format

key => value,

please supply at least the configuration for the connection: connection_type => "LinxGPIB" gpib_address =>

you might also want to have gate protect from the start (the default values are given):

                gate_protect => 1,

                gp_equal_level          => 1e-5,
                gp_max_units_per_second  => 0.05,
                gp_max_units_per_step    => 0.005,
                gp_max_step_per_second  => 10,
                gp_max_units_per_second  => 0.05,
                gp_max_units_per_step    => 0.005,

                max_sweep_time=>3600,
                min_sweep_time=>0.1,
        

Additinally there is support to set parameters for the device "on init":

                function                        => undef, # 'VOLT' - voltage, 'CURR' - current
                range                   => undef,
                level                   => undef,
                output                                  => undef,

If those values are not specified, they are read from the device.

METHODS

sweep_to_level

        $src->sweep_to_level($lvl,$time)
        

Sweep to the level $lvl in $time seconds.

set_voltage

        $src->set_voltage($voltage)

Sets the output voltage to $voltage. Returns the newly set voltage.

get_voltage

Returns the currently set $voltage. The value is read from the driver cache by default. Provide the option

        device_cache => 1

to read directly from the device.

set_current

        $src->set_current($current)

Sets the output current to $current. Returns the newly set current.

get_current

Returns the currently set $current. The value is read from the driver cache by default. Provide the option

        device_cache => 1

to read directly from the device.

set_level

        $src->set_level($lvl)
        

Sets the level $lvl in the current operation mode.

get_level

        $lvl = $src->get_level()
        

Returns the currently set level. Use

        device_cache => 1
        

to enforce a reading directly from the device.

set_range($range)

    Fixed voltage mode
    10E-3    10mV
    100E-3   100mV
    1E+0     1V
    10E+0    10V
    30E+0    30V

    Fixed current mode
    1E-3                1mA
    10E-3       10mA
    100E-3      100mA
    200E-3              200mA
    
    Please use the format on the left for the range command.

program_run($program)

Runs a program stored on the YokogawaGS200. If no prgram name is given, the currently loaded program is executed.

program_pause

Pauses the currently running program.

program_continue

Continues the paused program.

set_function($function)

Sets the source function. The Yokogawa supports the values

"CURR" for current mode and "VOLT" for voltage mode.

Returns the newly set source function.

set_voltage_limit($limit)

Sets a voltage limit to protect the device. Returns the new voltage limit.

set_current_limit($limit)

See set_voltage_limit.

output_on()

Sets the output switch to on and returns the new value of the output status.

output_off()

Sets the output switch to off. The instrument outputs no voltage or current then, no matter what voltage you set. Returns the new value of the output status.

get_error()

Queries the error code from the device. This is a very useful thing to do when you are working remote and the source is not responding.

get_output()

get_range()

CAVEATS

probably many

SEE ALSO

AUTHOR/COPYRIGHT

 (c) 2004-2006 Daniel Schröer
 (c) 2007-2010 Daniel Schröer, Daniela Taubert, Andreas K. Hüttel, and others
 (c) 2011 Florian Olbrich, Andreas K. Hüttel
 (c) 2012-2013 Alois Dirnaichner, Andreas K. Hüttel

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.