Agilent 33500 Function/Arbitrary Waveform Generator Family
- class pymeasure.instruments.agilent.Agilent33500(adapter, name='Agilent 33500 Function/Arbitrary Waveform generator family', **kwargs)
Bases:
SCPIMixin,InstrumentRepresents the Agilent 33500 Function/Arbitrary Waveform Generator family.
Individual devices are represented by subclasses. User can specify a channel to control, if no channel specified, a default channel is picked based on the device e.g. For Agilent33500B the default channel is channel 1. See reference manual for your device
generator = Agilent33500("GPIB::1") generator.shape = 'SIN' # Sets default channel output signal shape to sine generator.channels[1].shape = 'SIN' # Sets channel 1 output signal shape to sine generator.frequency = 1e3 # Sets default channel output frequency to 1 kHz generator.channels[1].frequency = 1e3 # Sets channel 1 output frequency to 1 kHz generator.channels[2].amplitude = 5 # Sets channel 2 output amplitude to 5 Vpp generator.channels[2].output = 'on' # Enables channel 2 output generator.channels[1].shape = 'ARB' # Set channel 1 shape to arbitrary generator.channels[1].arb_srate = 1e6 # Set channel 1 sample rate to 1MSa/s generator.channels[1].data_volatile_clear() # Clear channel 1 volatile internal memory generator.channels[1].data_arb( # Send data of arbitrary waveform to channel 1 'test', range(-10000, 10000, +20), # In this case a simple ramp data_format='DAC' # Data format is set to 'DAC' ) generator.channels[1].arb_file = 'test' # Select the transmitted waveform 'test'
- ch_1
- Channel:
- ch_2
- Channel:
- property amplitude: Any
Control the voltage amplitude in Volts (float).(dynamic)
- property amplitude_unit: Any
Control the amplitude units (string, strictly ‘VPP’, ‘VRMS’, or ‘DBM’).(dynamic)
- property arb_advance: Any
Control how the device advances from data point to data point (str). Can be set to ‘TRIG<GER>’ or ‘SRAT<E>’ (default).
- property arb_file: Any
Control the arbitrary signal to use from the volatile memory of the device.(dynamic)
- property arb_filter: Any
Control the filter setting for arbitrary signals (str). Can be set to ‘NORM<AL>’, ‘STEP’ and ‘OFF’.
- property arb_srate: Any
Control the sample rate of the currently selected arbitrary signal in Sa/s (float). Valid values range from 1 µSa/s to 250 MSa/s (maximum range, device-dependent).
- beep()
Causes a system beep.
- property burst_mode: Any
Control the burst mode type (str, strictly ‘TRIG<GERED>’ or ‘GAT<ED>’).(dynamic)
- property burst_ncycles: Any
Control the number of cycles to be output when a burst is triggered (int).(dynamic)
- property burst_period: Any
Control the period of subsequent bursts in seconds (float).(dynamic)
- property burst_state: Any
Control the burst mode state (bool).(dynamic)
- clear_display()
Removes a text message from the display.
- data_arb(arb_name, data_points, data_format='DAC')
Uploads an arbitrary trace into the volatile memory of the device.
The data_points can be given as: comma separated 16 bit DAC values (ranging from -32767 to +32767), as comma separated floating point values (ranging from -1.0 to +1.0) or as a binary data stream. Check the manual for more information. The storage depends on the device type and ranges from 8 Sa to 16 MSa (maximum).
- Parameters:
arb_name – The name of the trace in the volatile memory. This is used to access the trace.
data_points – Individual points of the trace. The format depends on the format parameter. format = ‘DAC’ (default): Accepts list of integer values ranging from -32767 to +32767. Minimum of 8 a maximum of 65536 points. format = ‘float’: Accepts list of floating point values ranging from -1.0 to +1.0. Minimum of 8 a maximum of 65536 points. format = ‘binary’: Accepts a binary stream of 8 bit data.
data_format – Defines the format of data_points. Can be ‘DAC’ (default), ‘float’ or ‘binary’. See documentation on parameter data_points above. (default:
'DAC')
- data_volatile_clear()
Clear all arbitrary signals from volatile memory.
This should be done if the same name is used continuously to load different arbitrary signals into the memory, since an error will occur if a trace is loaded which already exists in the memory.
- property display: Any
Set text to be displayed on the front panel of the device (string).
- property ext_trig_out: Any
Control whether the trigger out signal is active (bool).
- property frequency: Any
Control the waveform frequency in Hz (float). Depends on the specified shape.(dynamic)
- property offset: Any
Control the voltage offset in Volts (float).(dynamic)
- property output: Any
Control the output state (bool).(dynamic)
- property output_load: Any
Control the expected load resistance in Ohms (str or float). The output impedance is always 50 Ohm, this setting can be used to correct the displayed voltage for loads unmatched to 50 Ohm.(dynamic)
- property phase: Any
Control the waveform phase in degrees (float, from -360 to 360).
- phase_sync()
Synchronize the phase of all channels.
- property pulse_dutycycle: Any
Control the pulse duty cycle in percent (float, from 0 to 100).(dynamic)
- property pulse_hold: Any
Control whether pulse width or duty cycle is maintained when the period or frequency of the waveform is changed (str).(dynamic)
- property pulse_period: Any
Control the pulse period in seconds (float). Overwrites frequency. If the period is shorter than the pulse width + the edge time, the edge time and pulse width are adjusted.(dynamic)
- property pulse_transition: Any
Control the pulse edge time (both rising and falling) in seconds (float).(dynamic)
- property pulse_width: Any
Control the pulse width in seconds (float).(dynamic)
- property ramp_symmetry: Any
Control the ramp waveform symmetry in percent (float, from 0 to 100).(dynamic)
- property shape: Any
Control the output waveform shape (str).(dynamic)
- property square_dutycycle: Any
Control the square wave duty cycle in percent (float).(dynamic)
- trigger()
Send a trigger signal to the function generator.
- property trigger_source: Any
Control the trigger source (str).
- property voltage_high: Any
Control the upper voltage level in Volts (float).(dynamic)
- property voltage_low: Any
Control the lower voltage level in Volts (float).(dynamic)
- wait_for_trigger(timeout=3600, should_stop=<function Agilent33500.<lambda>>)
Wait until the triggering has finished or timeout is reached.
- Parameters:
timeout – The maximum time the waiting is allowed to take. If timeout is exceeded, a TimeoutError is raised. If timeout is set to zero, no timeout will be used. (default:
3600)should_stop – Optional function (returning a bool) to allow the waiting to be stopped before its end. (default:
<function Agilent33500.<lambda> at 0x76f1fd0714e0>)