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

NAME

Lab::Moose::Instrument::KeysightDSOS604A - Keysight DSOS604A infiniium S-Series Oscilloscope.

VERSION

version 3.762

SYNOPSIS

 use Lab::Moose;

 my $source = instrument(
     type => 'KeysightDSOS604A',
     input_impedance => ...,
     instrument_nselect => ...,
     waveform_format => ...
 );
  • input_impedance specifies the default input input impedance. See channel_input for more information =item * instrument_nselect specifies the default input channel =item * waveform_format specifies the default format for waveform data. See set_waveform_format for more information

save_measurement

 $keysight->save_measurement(value => 'C:\Users\Administrator\Documents\Results\my_measurement');

Save all current measurements on screen to the specified path.

measure_vpp

 $keysight->measure_vpp(source => 'CHANnel1');

Query the Vpp voltage of a specified source.

save_waveform

 $keysight->save_waveform(source => 'CHANnel1', filename => 'C:\Users\Administrator\Documents\Results\data2306_c1_5',format => 'CSV');

Save the waveform currently displayed on screen. source can be a channel, function, histogram, etc, filename specifies the path the waveform is saved to and format can be BIN CSV INTernal TSV TXT H5 H5INt MATlab.

The following file name extensions are used for the different formats:

  • BIN = file_name.bin =item * CSV (comma separated values) = file_name.csv =item * INTernal = file_name.wfm =item * TSV (tab separated values) = file_name.tsv =item * TXT = file_name.txt =item * H5 (HDF5) = file_name.h5 In the H5 format, data is saved as floats. In this case, the data values are actual vertical values and do not need to be multiplied by the Y increment value. =item * H5INt (HDF5) = file_name.h5 In the H5INt format, data is saved as integers. In this case, data values are quantization values and need to be multiplied by the Y increment value and added to the Y origin value to get the actual vertical values. =item * MATlab (MATLAB data format) = file_name.mat

save_measurements

 $keysight->save_measurements(filename => 'C:\Users\Administrator\Documents\Results\my_measurements');

Save all measurements on-screen to a file.

force_trigger

 $keysight->force_trigger();

Force a trigger event by command.

trigger_level

 $keysight->trigger_level(channel => 1, value => 0.1);

Set the global trigger to a specified channel with a trigger level in volts.

acquire_mode

 $keysight->acquire_mode(value => 'HRESolution');

Allowed values: ETIMe, RTIMe, PDETect, HRESolution, SEGMented, SEGPdetect, SEGHres

See the programming manual on page 243 for more information on the different acquisation modes. The default is RTIMe.

acquire_hres

 $keysight->acquire_hres(value => 'BITF16');

Specify the minimum resolution for the High Resolution acquisition mode.

acquire_points

 $keysight->acquire_points(value => 40000);

Specify the amount of data points collected within an acquisition window. Using this command adjusts the sample rate automatically.

timebase_range

 $keysight->timebase_range(value => 0.00022);

Manually adjust the Oscilloscopes time scale on the x-axis. The timebase range specifies the time interval on-screen.

timebase_reference

 $keysight->timebase_reference(value => 'LEFT');

Specify where the time origin is on the display. By default it is centered. Allowed values: LEFT CENTer RIGHt

timebase_ref_perc

 $keysight->timebase_ref_perc(value => 15);

Shift the time origin by 0% to 100% in the opposite direction than timebase_reference, 100% would shift the origin from left to right or the other way around.

timebase_clock

 $keysight->timebase_clock(value => 'OFF')

Enable or disable the Oscilloscopes 10 MHz REF IN BNC input (ON or OFF) or the 100MHz REF IN SMA input (HFRequency or OFF). When either option is enabled, the the external reference input is used as a reference clock for the Oscilloscopes horizonal scale instead of the internal reference clock.

get_waveform

 $keysight->get_waveform(channel => 1);

Query the waveform on any channel. When executing this subroutine the oscilloscope waits for a trigger event, acquires a full waveform and returns an array reference containing the scaled time and voltage axis in the form of [\@time, \@voltage].

This acquisition method is called Blocking Synchronisation and should only be used if the oscilloscope is certain to trigger, for example when measuring a periodically oscillating signal. For more information see the programming manual on page 211 and following.

set_waveform_format

 $keysight->set_waveform_format(value => 'WORD');

This command controls how the data is formatted when it is sent from the oscilloscope, and pertains to all waveforms. The default format is FLOat. The possible formats are:

  • ASCii ASCii-formatted data consists of waveform data values converted to the currently selected units, such as volts, and are output as a string of ASCII characters with each value separated from the next value by a comma. =item * BYTE BYTE data is formatted as signed 8-bit integers. =item * WORD WORD-formatted data is transferred as signed 16-bit integers in two bytes. =item * BINary BINary will return a binary block of (8-byte) uint64 values. =item * FLOat FLOat will return a binary block of (4-byte) single-precision floating-point values.

For more information on these formats see the programming manual on page 1564.

waveform_source

 $keysight->waveform_source(channel => 1);

Select an input channel for the acquired waveform.

channel_input

 $keysight->channel_input(channel => 'CHANnel1', parameter => 'DC50');

parameter can be either

  • DC — DC coupling, 1 MΩ impedance. =item * DC50 | DCFifty — DC coupling, 50Ω impedance. =item * AC — AC coupling, 1 MΩ impedance. =item * LFR1 | LFR2 — AC 1 MΩ input impedance.

When no probe is attached, the coupling for each channel can be AC, DC, DC50, or DCFifty. If you have an 1153A probe attached, the valid parameters are DC, LFR1, and LFR2 (low-frequency reject). See the programming manual on page 347 for more information.

channel_differential

 $keysight->channel_differential(channel => 1, mode => 1);

Turns on or off differential mode. mode is an integer value, where 0 is false and everything else is true.

channel_range/channel_offset

 $keysight->channel_range(channel => 1, range => 1);
 $keysight->channel_offset(channel => 1, offset => 0.2);

Allows for manual adjustment of the oscilloscopes vertical voltage range and -offset for a specific channel. Differential mode is turned on automatically on execution. range and offset parameters are in volts.

COPYRIGHT AND LICENSE

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

  Copyright 2021       Andreas K. Huettel, Fabian Weinelt, Simon Reinhardt

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