Agilent.Multimeter

Code author: Kevin Kennedy <protonyx@users.noreply.github.com>

class labtronyx.drivers.Agilent.Multimeter.d_3441XA(resource, **kwargs)[source]

Driver for Agilent 34410A and 34411A Digital Multimeter

checkForError()[source]

Query the device for errors. Raises an exception if an error was registered on the device

disableFrontPanel()[source]

Disables the front panel display. Display can be re-enabled by calling enableFrontPanel or pressing the LOCAL button on the instrument.

enableFrontPanel()[source]

Enables the front panel display if it was previously disabled.

frontPanelText(text_top, text_bottom)[source]

Set the text on the front panel of the instrument. The top line is limited to 12 characters, the bottom line to 18 characters. You can use letters (A-Z), numbers (0-9), and special characters like “@”, “%”, “*”, etc. Use “#” character to display a degree symbol.

Parameters:
  • text_top (str) – Top text (up to 12 characters)
  • text_bottom (str) – Bottom text (up to 18 characters)
getError()[source]

Get the last recorded error from the instrument

Returns:error code, error message
getErrors()[source]

Retrieve any queued errors on the instrument

Returns:list
getIntegrationRate()[source]

Get the integration period (measurement speed). Expressed as a factor of the power line frequency.

Returns:float
getMeasurement()[source]

Get the last available reading from the instrument. This command does not trigger a measurement if trigger source is not set to IMMEDIATE.

Returns:float
getMode()[source]

Get the current operating mode

Returns:str
getProperties()[source]

Driver property keys:

  • validModes
  • validTriggerSources
  • errorCodes
Returns:
getRange()[source]

Get the range for the measurement.

Returns:float
getSampleCount()[source]

Get the number of readings (samples) the multimeter will take per trigger.

Returns:Number of samples (int)
self_test()[source]

Run the self-test suite

+========+================================+ | Test # | Test Name | +========+================================+ | 600 | Front Panel Communications | | 601 | Front Panel All On Test | | 602 | A/D Feedback Test | | 603 | Fine A/D Test | | 604 | Fine A/D Linearity | | 605 | A/D & FE Measure Zero | | 606 | Input Amplifier x100 Zero Test | | 607 | Input Amplifier x10 Zero Test | | 608 | Input Amplifier x1 Zero Test | | 609 | Input Leakage Test | | 610 | Input Amplifier x10 Gain Test | | 611 | Input Amplifier x1 Gain Test | | 612 | Ohms 500nA Current Source | | 613 | DC High Voltage Divider Test | | 614 | Ohms 5uA Current Source Test | | 615 | Ohms 10uA Current Source | | 616 | Ohms 100uA to 200 Ohm Shunt | | 617 | Ohms 1mA to 2 Ohm Shunt | | 618 | High Current Shunt Test | | 619 | AC 0.1VAC Zero Test | | 620 | Precharge Amplifier Gain Test | | 621 | Precharge Offset Range Test | | 622 | FPGA Ping Test | +——–+——————————–+ :return:

setIntegrationRate(value)[source]

Set the integration period (measurement speed) for the basic measurement functions (except frequency and period). Expressed as a factor of the power line frequency (PLC = Power Line Cycles).

Valid values: 0.006, 0.02, 0.06, 0.2, 1, 2, 10, 100

Value of ‘DEF’ sets the integration rate to 1 PLC

Parameters:value – Integration rate
setMode(func)[source]

Set the configuration mode

Valid modes:

  • ‘AC Voltage’
  • ‘DC Voltage’
  • ‘Resistance’
  • ‘4-wire Resistance’
  • ‘AC Current’
  • ‘DC Current’
  • ‘Frequency’
  • ‘Period’
  • ‘Diode’
  • ‘Continuity’
  • ‘Capacitance
  • ‘Temperature’
Parameters:func (str) – Configuration mode
setRange(new_range)[source]

Set the range for the measurement. The range is selected by specifying the expected reading as an absolute value. The instrument will then go to the most ideal range that will accommodate the expected reading

Possible value ranges:

  • ‘AUTO’
  • DC Voltage: 0 to 1000 Volts
  • AC Voltage: 0 to 750 Volts
  • Current: 0 to 20 Amps
  • Resistance: 0 to 20e6 ohms
  • Frequency or Period: 0 to 1010 Volts
Parameters:new_range (str) – Measurement Range
setSampleCount(samples)[source]

Set the number of readings (samples) the multimeter will take per trigger.

When the sample source is Immediate, the trigger delay value is used to determine how far apart the samples are to be taken. In Timer mode, the sample timer value is used.

Parameters:samples (int) – Number of samples
setTriggerCount(count)[source]

This command selects the number of triggers that will be accepted by the meter before returning to the “idle” trigger state.

A value of ‘0’ will set the multimeter into continuous trigger mode.

Parameters:count (int) – Number of triggers
setTriggerDelay(delay=None)[source]

This command sets the delay between the trigger signal and the first measurement. This may be useful in applications where you want to allow the input to settle before taking a reading or for pacing a burst of readings. The programmed trigger delay overrides the default trigger delay that the instrument automatically adds.

If delay is not provided, the automatic trigger delay is enabled

Note:

The Continuity and Diode test functions ignore the trigger delay
setting
Parameters:delay (float) – Trigger delay (in seconds)
setTriggerSource(source)[source]

Set the trigger source for a measurement.

Valid values:

  • IMMEDIATE: Internal continuous trigger
  • BUS: Triggered via USB/RS-232 Interface
  • EXTERNAL: Triggered via the ‘Ext Trig Input’ BNC connector

For the EXTernal source, the instrument will accept a hardware trigger applied to the rear-panel Ext Trig Input BNC connector. The instrument takes one reading, or the specified number of readings (sample count), each time a TTL pulse (low-true for slope = negative) is received. If the instrument receives an external trigger before it is ready to accept one, it will buffer one trigger.

Parameters:source (str) – Trigger source
trigger()[source]

Used in conjunction with the Trigger Source to trigger the instrument from the remote interface. After setting the trigger source, you must place the multimeter in the “wait-for-trigger” state by calling waitForTrigger().

waitForTrigger()[source]

Change the state of the triggering system from “idle” to “wait-for-trigger”. Measurements will begin when the specified trigger conditions are satisfied. Will also clear the previous set of readings from memory.