Skip to content

MEASUREMENT_PARAMS_DMM7510

Changes the measurement settings for the DMM7510. Requires a CONNECT_DMM7510 block to create the connection. Params: connection : VisaConnection The VISA address (requires the CONNECTION_DMM7510 block). autorange : bool, default=True, Use auto range? meas_range : float, default=1, The range to measure with (i.e. the maximum). autozero : bool, default=True, Use auto zero? count : int, default=1, The number of counts to average. NPLC : float, default=1, The integration rate in number of clocks. Returns: out : TextBlob Measurement settings
Python Code
from typing import Optional
from flojoy import VisaConnection, flojoy, DataContainer, TextBlob


@flojoy(inject_connection=True)
def MEASUREMENT_PARAMS_DMM7510(
    connection: VisaConnection,
    input: Optional[DataContainer] = None,
    autorange: bool = True,
    meas_range: float = 1,
    autozero: bool = True,
    count: int = 1,
    NPLC: float = 1,
) -> TextBlob:
    """Changes the measurement settings for the DMM7510.

    Requires a CONNECT_DMM7510 block to create the connection.

    Parameters
    ----------
    connection : VisaConnection
        The VISA address (requires the CONNECTION_DMM7510 block).
    autorange: bool, default=True,
        Use auto range?
    meas_range : float, default=1,
        The range to measure with (i.e. the maximum).
    autozero : bool, default=True,
        Use auto zero?
    count : int, default=1,
        The number of counts to average.
    NPLC : float, default=1,
        The integration rate in number of clocks.

    Returns
    -------
    TextBlob
        Measurement settings
    """
    assert count > 0, "The count must be greater than 1."

    dmm = connection.get_handle()

    dmm.commands.dmm.measure.range = meas_range
    if autorange:
        dmm.commands.dmm.measure.autorange = "dmm.ON"
    else:
        dmm.commands.dmm.measure.autorange = "dmm.OFF"
    if autozero:
        dmm.commands.dmm.measure.autozero.enable = "dmm.ON"
    else:
        dmm.commands.dmm.measure.autozero.enable = "dmm.OFF"
    dmm.commands.dmm.measure.nplc = NPLC
    dmm.commands.dmm.measure.count = count

    dmm.commands.dmm.measure.inputimpedance = "dmm.IMPEDANCE_AUTO"

    return TextBlob(text_blob=f"Measure range: {dmm.commands.dmm.measure.range}")

Find this Flojoy Block on GitHub

Example

Having problems with this example app? Join our Discord community and we will help you out!
React Flow mini map

In this example, a DC voltage measurement was extracted from a Keithley DMM7510.

First the necessary blocks were added:

  • CONNECT_DMM7510
  • RESET_DMM7510
  • FUNCTION_DMM7510
  • DIGITS_DMM7510
  • MEASUREMENT_PARAMS_DMM7510
  • MEASUREMENT_FILTER_DMM7510
  • READ_DMM7510
  • BIG_NUMBER

The instrument address was set for each DMM7510 block. The FUNCTION_DMM7510 block was changed in order to extract the correct measurement. The parameters in DIGITS_DMM7510, MEASUREMENT_PARAMS_DMM7510, and MEASUREMENT_FILTER_DMM7510 blocks were changed as necessary. The READ_DMM7510 block was connected to the BIG_NUMBER block in order to view the reading.

The blocks were connected as shown and the app was run.