
#idString KEITHLEY INSTRUMENTS INC.,MODEL 2000,
#name Keithley 2000
#handle K2000
#port com
#baudrate 9600
#author voltsandjolts

; A list of possible column name with unit and formatter (SI, Time, Int, D0..D6)
#value VoltageDC V D6 VDC,Diode
#value CurrentDC A si ADC
#value VoltageAC V D6 VAC
#value CurrentAC A si AAC
#value Resistance Ohm si Ohm,Ohm4
#value Temperature C d4 Temp
#value Frequency Hz si Frequency
#value Period s si Period


; How to poll for data, this is used for table and #values?
; a #askMode, #cmdMode and #prepareSample is used before this is string is used.
; This is a single line command
#askValues read?


; Accept this delay when reading values (seconds), auto range can be very slow on this meter
#readingDelay 5


; Mode change have a longer delay on reading values (seconds)
#modeChangeDelay 10


; Switch meter to this mode during start, leave empty to avoid any switching
#initialMode 


; String to ask about actual meter mode, 
; This is a single line command
#askMode :sens:func?


; When one of these commands are used through the command interface a new configuration will be done before using #askMode
; Only one word for each #mayModifyMode
; Specify command without initial colon and in the shortest possible form
#mayModifyMode sens


#interfaceType DMM BMM
#interface readValue 0


; Strings to configure device in different modes
; First parameter must match a #value (4 parameter) and second parameter must match what #askMode returns
; First parameter is also used in shortcut menu
#cmdMode VDC VOLT:DC *cls;:sens:func "volt:dc";:sens:volt:dc:nplc 1
#cmdMode VAC VOLT:AC *cls;:sens:func "volt:ac"
#cmdMode Ohm RES *cls;:sens:func "res";:sens:res:nplc 1
#cmdMode Ohm4 FRES *cls;:sens:func "fres";:sens:fres:nplc 1
#cmdMode Diode DIOD *cls;:sens:func "diod"
#cmdMode Frequency FREQ *cls;:sens:func "freq"
#cmdMode Period PER *cls;:sens:func "per"
#cmdMode Temp TEMP *cls;:sens:func "temp";:sens:temp:nplc 1
#cmdMode ADC CURR:DC *cls;:sens:func "curr:dc";:sens:curr:dc:nplc 1
#cmdMode AAC CURR:AC *cls;:sens:func "curr:ac"


; Prepare the meter to response to #askValues
#prepareSample


; Initial commands to meter when establishing connection
; syst:rwl locks keypad during remote operation
#initCmd
*cls
*rst
:init
:sample:count 1
:trig:source imm
:trig:seq:count 1
:unit:temp c
:sens:temp:tc:type K
:sens:temp:tc:rjun:rsel sim
:sens:temp:tc:rjun:sim 23
:syst:azer:stat 1
:syst:rwl
:syst:rem


; Final command to meter before breaking connection
#finalCmd
*cls
*rst
:init
:syst:loc
