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.