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

NAME

Lab::XPRESS::Sweep::Time - Simple time-controlled repeater

VERSION

version 3.680

SYNOPSIS

        use Lab::Measurement;
        
        my $time_sweep = Sweep('Time',
                {
                duration => 5
                });

DESCRIPTION

Parent: Lab::XPRESS::Sweep

The Lab::XPRESS::Sweep::Time class implements a simple time controlled repeater module in the Lab::XPRESS::Sweep framework.

CONSTRUCTOR

        my $time_sweep = Sweep('Time',
                {
                duration => 5,
                interval => 0.5
                });

Instantiates a new Time-Sweep with a duration of 5 seconds and a Measurement interval of 5 seconds. To operate in the stabilization mode make an instant like the following:

        my $time_sweep = Sweep('Time',
                {
                stabilize => 1,         
                sensor => $DIGITAL_MULTIMETER,
                std_dev_sensor => 1e-6,
                stabilize_observation_time => 3*60,

                duration => 20*60,
                interval => 0.5
                });

PARAMETERS

duration [float] (default = 1)

duration for the time controlled repeater. Default value is 1, negative values indicate a infinit number of repetitions. In stabilization mode, the duration gives the maximum duration which is waited before the sweep gets interrupted even though the stabilization criterion hasn't been reached yet.

interval [float] (default = 1)

interval in seconds for taking measurement points.

id [string] (default = 'Repeater')

Just an ID.

delay_before_loop [float] (default = 0)

defines the time in seconds to wait after the starting point has been reached.

delay_after_loop [float] (default = 0)

Defines the time in seconds to wait after the sweep has been finished. This delay will be executed before an optional backsweep or optional repetitions of the sweep.

stabilize [int] (default = 0)

1 = Activate stabilization mode. In this mode the sweep will be interrupted when a stabilization criterion is reached or when the duration expires, whatever is reached first. The variable to stabilize on is the value which is returned by the get_value function corresponding to the instrument handle given to the parameter 'sensor'. The stabilization criterion can be set in 'std_dev_sensor' as a number which has the same unit as the variable, that is supposed to stabilize. When the standard deviation of a time series of the stabilization variable falls below 'std_dev_sensor', the sweep ends. The length of the time window, which is used to calculate the standard deviation is given by 'stabilize_observation_time'. The standarad deviation is not being calculated by the sweep, before the time window isn't filled with data completely. Therefore, the sweep will never last less than 'stabilize_observation_time', unless 'duration' < 'stabilize_observation_time'.

0 = Deactivate stabilization mode.

sensor [Lab::Instrument] (default = undef)

See 'stabilize'.

std_dev_sensor [float] (default = 1e-6),

See 'stabilize'.

stabilize_observation_time [float] (default = 3*60)

See 'stabilize'.

CAVEATS/BUGS

probably none

SEE ALSO

Lab::XPRESS::Sweep

COPYRIGHT AND LICENSE

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

  Copyright 2012       Stefan Geissler
            2013       Andreas K. Huettel, Christian Butschkow, Stefan Geissler
            2015       Christian Butschkow
            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.