The Keithley DMM6500 / DAQ6510 family supports Test Script Processing (TSP) scripts. They are an alternative for SCPI control. The underlying scripting language is LUA.
In this post, I'm showing a TSP script, and a brief look at the TestScriptBuilder IDE.
The Pre-Monitor Example
This is based on an example that Keithley wrote for the DAQ6510 with 7700 multiplexer card. I ported it to a DMM6500 with 2000-SCAN card.
From the example readme:

I made the following changes:
- I measure temperature from channel 2, where my thermocouple is connected. (original: channel 101)
- I measure 1 resistor on channel 3 (original 4 resistors on channels 102:105)
- I simulate the thermocouple cold junction temperature (original uses 7700 internal reference)
- I run 1 scan cycle (original: 10)
|
TSP can be used for remote control, as alternative for SCPI. The functionality in that case is comparable. |
TSP Script
-- monitor temperature on channel 2
reset()
channel.setdmm("2", dmm.ATTR_MEAS_FUNCTION, dmm.FUNC_TEMPERATURE, dmm.ATTR_MEAS_TRANSDUCER, dmm.TRANS_THERMOCOUPLE, dmm.ATTR_MEAS_THERMOCOUPLE, dmm.THERMOCOUPLE_K, dmm.ATTR_MEAS_REF_JUNCTION, dmm.REFJUNCT_SIMULATED)
channel.setdmm("2", dmm.ATTR_MEAS_SIM_REF_TEMP, 26)
channel.setdmm("2", dmm.ATTR_MEAS_UNIT, dmm.UNIT_CELSIUS)
-- set limit high on monitor and trigger scan when high limit exceeds
scan.monitor.channel = "2"
scan.monitor.limit.high.value = 30
scan.monitor.mode = scan.MODE_HIGH
-- scan 2-wire resistance on channel 3
channel.setdmm("3", dmm.ATTR_MEAS_FUNCTION, dmm.FUNC_RESISTANCE, dmm.ATTR_MEAS_RANGE_AUTO, dmm.ON)
-- create scan
scan.create("2:3")
scan.scancount = 1
-- initiates the monitoring of channel 2 conditions, which will enable the scan when it crosses the temperature threshold.
trigger.model.initiate()
Active debug session
Keithley released an IDE for TSP development. It includes a debugger that allows you to step through the code.

Action: The video shows that the scanner waits until the test device (me) has reached 30°. Then it runs the scan.