++ed by:
AMBA

1 PAUSE user
1 non-PAUSE user.

Andreas K. Hüttel
and 4 contributors

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_voltage($voltage,$time)

Sweeps to $voltage in $time seconds. For this function to work, the source has to be in output mode.

Returns the newly set voltage. This function is also called internally to set the voltage when gate protect is used.

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_voltage($voltage)

Sets the output voltage. The driver checks whether you stay inside the currently selected range. Returns the newly set voltage.

set_voltage_auto($voltage)

Sets the output voltage. The range is chosen automatically. Does not work with gate protect on. Returns the newly set voltage.

set_current($current)

See set_voltage

set_current_auto($current)

See set_current_auto

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.

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_voltage()

get_current()

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 Alois Dirnaichner

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