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:
Configure the PSU to a known output (3.3 V, 30 mA limit) and enable it.
Use the DMM to take an auto-ranged 2-wire resistance measurement of the device under test.
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), notGPIB, then power-cycle the instrument.Confirm the instrument then enumerates with
usb detectbefore 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