Keithley PSU + DMM Demo

The following example shows how you can use a PLT-300A to drive both the Keithley 2200 PSU (05e6:0x2200) and the Keithley 2110 DMM (05e6:0x2110) over USB-TMC in a single test plan.

This example test plan does the following:

  1. Configure the PSU to a known output (3.3 V, 30 mA limit) and enable it.

  2. Use the DMM to take an auto-ranged 2-wire resistance measurement of the device under test.

  3. Assert the measured resistance is below 25.2 Ω.

Wiring

Connect the device under test to the DMM’s 2-wire resistance input. Both instruments connect to the PLT-300A over USB.

USBTMC vs. GPIB Mode

The 2110 DMM ships configured for the GPIB communication interface and must be switched to USB-TMC from the front panel before the PLT can enumerate it over USB-TMC. If usb detect or scpi connect fails to find the instrument:

  • On the meter, set the I/O / communication interface to USB (USB-TMC), not GPIB, then power-cycle the instrument.

  • Confirm the instrument then enumerates with usb detect before continuing.

Remote Mode

The single-channel 2200 PSU must be placed in remote mode with :SYSTem:REMote before any source or output command takes effect. Return it (and the DMM) to local mode with :SYSTem:LOCal at the end of the run so the front-panel buttons remain usable.

Sample Test Plan

---
title: "Keithley test plan 4"
suite:
  - ident: EXTUSB_PS
    title: checking external PS connected
    steps:
      - command: usb detect
        id: "05e6:0x2200"
        # keithly PS2200

  - ident: PS_TEST
    title: send commands to PS
    steps:
      - command: scpi connect PS2200
        # Tektronix Keithley PS2200
        id: "05e6:0x2200"
      - command: scpi query PS2200 "*IDN?"
        extractKey: PS_IDENT
      - command: scpi command PS2200
        with:
          #      - "*RST"
          # setup instrument to remote mode
          - ":system:remote;"
          # set current limit and voltage out
          - ":source:current 30mA;"
          - ":voltage 3.3V;"
          # enable output
          - ":output 1;"
          # return instrument to local mode, otherwise front panel buttons won't work
          - "system:local;"

  - ident: EXTUSB_DMM
    title: checking DMM connected
    steps:
      - command: usb detect
        id: "05e6:0x2110"

  - ident: DMM_RES_MEAS
    title: Read resistance via DMM
    steps:
      - command: scpi connect DMM2110
        # Tektronix Keithley DMM2110
        id: "05e6:0x2110"
      - command: scpi query DMM2110 "*IDN?"
        extractKey: DMM_IDENT
        # "KEITHLEY INSTRUMENTS,MODEL DMM2110"

      # setup for a 2 wire resistance read
      - command: scpi command DMM2110
        with:
          - "*RST"
          - ":system:remote;"
          # SCPI command to show under test msg on DMM screen
          - ":DISPlay:text \"KTesting 4d\";"

          # Set up resistance range to be auto
          #      - ":CONF:RES ;"
          - ":sense:function1 \"res\";"
          - ":RES:RANG:AUTO 1;"
          - ":INIT;"

      - command: scpi query DMM2110 ":fetch1?"
        extractKey: DMM_RES
        retry: 10
        timeout: 5s

      #    # Read the resistor value; it is a few seconds before the
      #    # reading is returned
      #  - command: scpi query DMM2110 ":READ1?"
      #    extractKey: DMM_RES
      #    retry: 10
      #    timeout: 5s
      # compare the retrieved value with expected value
      - command: eval "numeric(DMM_RES) < 25.2"

      # clear the test msg on the display of the DMM
      - command: scpi command DMM2110
        with:
          # SCPI to clear DMM screen after test
          - ":DISPlay:text: \"test done\";"
          # return system to local mode to allow front panel button functions
          - ":system:local;"

Note

The DMM reading is taken with :INIT to trigger the acquisition, followed by :fetch1? to retrieve the result. The reading takes a few seconds to become available, so the :fetch1? query is retried until it returns a value.

References