HP 8116A 50 MHz Pulse/Function Generator

class pymeasure.instruments.hp.HP8116A(adapter, name='Hewlett-Packard 8116A', **kwargs)

Bases: Instrument

Represents the Hewlett-Packard 8116A 50 MHz Pulse/Function Generator and provides a high-level interface for interacting with the instrument. The resolution for all floating point instrument parameters is 3 digits.

class Digit(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Enum of the digits used with the autovernier (see HP8116A.start_autovernier()).

class Direction(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Enum of the directions used with the autovernier (see HP8116A.start_autovernier()).

GPIB_trigger()

Initiate trigger via low-level GPIB-command (aka GET - group execute trigger).

property amplitude

A floating point value that controls the amplitude of the output in V. The allowed amplitude range generally is 10 mV to 16 V, but it is also limited by the current offset.

ask(command, num_bytes=None)

Write a command to the instrument, read the response, and return the response as ASCII text.

Parameters
  • command – The command to send to the instrument.

  • num_bytes – The number of bytes to read from the instrument. If not specified, the number of bytes is automatically determined by the command.

property autovernier_enabled

A boolean property that controls whether the autovernier is enabled.

property burst_number

An integer value that controls the number of periods generated in a burst. The allowed range is 1 to 1999. It is only valid for units with Option 001 in one of the burst modes.

check_errors()

Check for errors in the 8116A.

Returns

list of error entries or empty list if no error occurred.

property complement_enabled

A boolean property that controls whether the complement of the signal is generated.

property complete

Get the synchronization bit.

This property allows synchronization between a controller and a device. The Operation Complete query places an ASCII character 1 into the device’s Output Queue when all pending selected device operations have been finished.

property control_mode

A string property that controls the control mode of the instrument. Possible values are ‘off’, ‘FM’, ‘AM’, ‘PWM’, ‘VCO’.

property duty_cycle

An integer value that controls the duty cycle of the output in percent. The allowed range generally is 10 % to 90 %, but it also depends on the current frequency. It is valid for all shapes except ‘pulse’, where pulse_width is used instead.

property frequency

A floating point value that controls the frequency of the output in Hz. The allowed frequency range is 1 mHz to 52.5 MHz.

property haversine_enabled

A boolean property that controls whether a haversine/havertriangle signal is generated when in ‘triggered’, ‘internal_burst’ or ‘external_burst’ operating mode.

property high_level

A floating point value that controls the high level of the output in V. The allowed high level range generally is -7.9 V to 8 V, but it must be at least 10 mV greater than the low level.

property limit_enabled

A boolean property that controls whether parameter limiting is enabled.

property low_level

A floating point value that controls the low level of the output in V. The allowed low level range generally is -8 V to 7.9 V, but it must be at least 10 mV less than the high level.

property offset

A floating point value that controls the offset of the output in V. The allowed offset range generally is -7.95 V to 7.95 V, but it is also limited by the amplitude.

property operating_mode

A string property that controls the operating mode of the instrument. Possible values (without Option 001) are: ‘normal’, ‘triggered’, ‘gate’, ‘external_width’. With Option 001, ‘internal_sweep’, ‘external_sweep’, ‘external_width’, ‘external_pulse’ are also available.

property options

Return the device options installed. The only possible option is 001.

property output_enabled

A boolean property that controls whether the output is enabled.

property pulse_width

A floating point value that controls the pulse width. The allowed pulse width range is 8 ns to 999 ms. The pulse width may not be larger than the period.

property repetition_rate

A floating point value that controls the repetition rate (= the time between bursts) in ‘internal_burst’ mode. The allowed range is 20 ns to 999 ms.

reset()

Initatiate a reset (like a power-on reset) of the 8116A.

property shape

A string property that controls the shape of the output waveform. Possible values are: ‘dc’, ‘sine’, ‘triangle’, ‘square’, ‘pulse’.

shutdown()

Gracefully close the connection to the 8116A.

start_autovernier(control, digit, direction, start_value=None)

Start the autovernier on the specified control.

Parameters
  • control – The control to change, pass as HP8116A.some_control. Allowed controls are frequency, amplitude, offset, duty_cycle, and pulse_width

  • digit – The digit to change, type: HP8116A.Digit.

  • direction – The direction in which to change the control, type: HP8116A.Direction.

  • start_value – An optional value to start the autovernier at. If not specified, the current value of the control is used.

property status

Returns the status byte of the 8116A as an IntFlag-type enum.

property sweep_marker_frequency

A floating point value that controls the frequency marker in both sweep modes. At this frequency, the marker output switches from low to high. The allowed range is 1 mHz to 52.5 MHz.

property sweep_start

A floating point value that controls the start frequency in both sweep modes. The allowed range is 1 mHz to 52.5 MHz.

property sweep_stop

A floating point value that controls the stop frequency in both sweep modes. The allowed range is 1 mHz to 52.5 MHz.

property sweep_time

A floating point value that controls the sweep time per decade in both sweep modes. The sweep time is selectable in a 1-2-5 sequence between 10 ms and 500 s.

property trigger_slope

A string property that controls the slope the trigger triggers on. Possible values are: ‘off’, ‘positive’, ‘negative’.

write(command)

Write a command to the instrument and wait until the 8116A has interpreted it.