I'm road testing the Keithley Bench Digital Multimeter DMM6500. I proposed in my application to focus my review on instrument automation. So let's get straight into that. In this post I review the remote control options and other automation functions.
|
Programmable Instrument
The DMM6500 positions itself as both a bench meter and an instrument that fits in a rack for automated test setups.
I'm focusing on the latter in this post.
Some of the software options that are available:
- TSP language, can be run remotely or directly on the instrument
- SCPI language
- remote control via python (requires PyVISA if you talk over USB) and Lua
- LabVIEW, drivers are available
- TSB, the Eclipse based Test Script Builder that allows you to remotely develop and debug TSP scripts.
- macro record and play back: you can save setup and setup changes to a TSP script and play back.
- Apps: you can load or create applications - includes designing user specific display layout.
- Autoexec options to run scripts at instrument boot.
- KickStart remote GUI type software
- WEB interface that includes a remote front panel that looks and feels like the real thing
Hardware Interfaces:
- LAN - as a VISA instrument and as a raw tcp/ip socket
- USB - as an USB Test and Measurement Device. It does not enumerate as a COM port (this is common for test instruments)
- as options, via plug-in card: RS-323, GPIB, TSP-Link
Review of the Available Software
WEB Interface
The instrument has a web server. If you connect to it via the LAN interface, you can access the web pages via your browser.
There's security for the actions that can change settings on the instrument.
The app has a virtual front panel where you can perform most of the actions available on the real instrument.
This interface is useful for documenting (you can take nice screen prints), monitoring and to make some one-off changes remotely.
You can also use it to download buffered data.
I would not advice to use the web interface as your primary interface to work with the meter.
Although the interface is easy to work with, the latency and mouse-based navigation (that are inherent to this type of GUI) don't give you the same experience as the real front panel.
All in all, it's one of the best attempts to give a virtual front end that I've seen for test instruments.
Test Script Builder
This is an Eclipse based IDE that comes with a set of example projects.
You use this application to develop TSP scripts and to test them out on the instrument.
As michaelkellett points out in the comments below, TSP (stands for Test Script Processing) is using Lua as scripting language.
Keithley stayed close to the Eclipse look-and-feel. Creating and debugging a script is a similar experience to developing for a microcontroller.
You can step through your scripts, watch variables, and the instrument shows the results real time.
image: Fuse Check diagnostics App imported from the instrument into the TSB IDE, then started in debug mode
You can also use this application to extract the system scripts from the DMM6500 and use those as basis for your own settings.
According to the documentation, you can also update the firmware via the TSB, although I haven't tested it.
note: to use the TSB, you need to set the DMM6500 interpreter to TSP.
KickStart
This is the windows application for Keithley instruments. It doesn't currently function for me.
The application doesn't find my meter when connected via USB and throws communication errors when connected via LAN.
It would be interesting to see if my fellow road testers snidhi or neuromodulator can run this application correctly.
I've logged a support case with TEK. They are very responsive and have collected my setup info. They also proposed some actions. We didn't get it working yet.
Validating the supplier's support model is one of my road test goals, so I can document how this defect is handled.
I'll update this section when I have updates.
LabVIEW
The instrument has a rich set of SCPI instructions. A LabVIEW library for the DMM6500 is available.
The same examples that are discussed in the user guide and available in the TSB, are also available as example LabVIEW flows.
Most of them work with or without a channel extension card installed. All very interesting.
In the next section I'm showing an example of a process executed by LabVIEW.
I'll also develop an automated testing flow (maybe - inspired by jc2048 - measure the Ron of an FET).
On-instrument scripts and APPs
The instrument can run TSP scripts without being connected.
There are 4 pre-installed apps, all of them adapting the display to show custom info.
There are no TSP scripts installed, but the ones that come with the TSB IDE can be loaded.
You can register a script to execute at startup . This allows you to set the instrument to a predefined state.
The TSP language, together with a TSP-Link card, allows you to create a fully automated setup that doesn't require a remote controller.
Real World Example
I'll show the scenario Measuring 4-wire resistance with offset compensation,
- from the front panel (using the WEB interface - it's a remote control blog),
- from a TSP script and
- from LabVIEW with SCPI.
This is the scenario documented in Section 6 of the meter's User Guide.
In all 3 cases, the exact same steps are done:
- Reset the instrument.
- Select the 4-wire resistance function. This method eliminates the effect of the lead resistance on measurement accuracy.
- Enable offset compensation.
- Make measurements from the front panel or the remote interface.
Because it's a 4 wire example, you need two sets of leads (or check the posts of fmilburn and shabaz on that subject).
I connected the leads at the rear of the instrument. The resistor is a 0R1 cement power resistor.
image source: DMM6500 user guide
From the Front Panel (using the WEB interface to show the result)
Actions |
---|
Range is automatically set to auto, autozero is automatically set to On, and NPLC is automatically set to 1. To set up the application from the front panel: 1. Press the POWER switch on the front panel to turn on the instrument. 2. On the FUNCTIONS swipe screen, select 4W Ω to select the 4-wire resistance measure function. 3. Press the MENU key. 4. Under Measure, select Settings. 5. Select Offset Compensation and select On. 6. Press the HOME key. The measurement readings are displayed in the top area of the Home screen. |
Results:
image: front panel capture via the WEB interface
From a TSP Script (using Test Script Builder to execute and show the result)
Actions |
---|
This sequence of TSP commands initiates one resistance reading. After the code is executed, the data is displayed in the Instrument Console of Test Script Builder.
--Reset the Model DMM6500 to the default settings. reset() --Set the measure function to 4-wire resistance. dmm.measure.func = dmm.FUNC_4W_RESISTANCE --Enable autorange. dmm.measure.autorange = dmm.ON --Enable autozero. dmm.measure.autozero.enable = dmm.ON --Enable offset compensation. dmm.measure.offsetcompensation.enable = dmm.ON --Set the number of power line cycles to 1. dmm.measure.nplc = 1 --Read the resistance value. print(dmm.measure.read()) |
Results:
TSP>0.097715080693
image: the Test Script Builder after executing the TSP in debug mode
From a SCPI Script (using LabVIEW to execute and show the result)
Actions |
---|
*RST :SENS:FUNC "FRES" :SENS:FRES:RANG: AUTO ON :SENS:FRES:OCOM ON :SENS:FRES:AZER ON :SENS:FRES:NPLC 1 :READ? |
Results:
0.0979927
image: LabVIEW after executing the SCPI script - I accidentally used 10 NPLC
In all 3 cases, executing the process was easy.
Keithley has a number of other real world examples where they provide the manual process and the TSP and SCPI scripts.
The TSP scripts are plain text. The SCPI scripts are available as LabVIEW processes.
All of these have immediate value - you can perform measurements that show Keithley best practices.
They are also good learning resources. The scripts, together with the PDF document that comes for each example, are a great start to develop your skills.
Top Comments