
#idString KEITHLEY INSTRUMENTS,MODEL DMM7510,
#name Keithley DMM7510
#handle DMM7510
#port 5025 LXI

; A list of possible column name with unit and formatter (SI, Time, Int, D0..D6)
#value VoltageDC V d5 VDC,VDCfast,d
#value CurrentDC A si ADC,ADC10A
#value VoltageAC V d4 VAC
#value CurrentAC A si AAC,AAC10A
#value Resistance ohm si ohm,ohm4
#value Capacitance F si c
#value Temperature °C d4 temp
#value Frequency Hz si hz
#value Ratio - d3 Ratio
#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? "defbuffer1",read

; Accept this delay when reading (seconds)
#readingDelay 2

; Mode change have a longer delay on reading (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 :SENSE:FUNCTION?

; 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
#mayModifyMode meas


#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;
:SENSE:FUNCTION:ON "VOLT:DC"
sense:voltage:dc:nplc 1;

#cmdMode VDCfast VOLT:DC
*cls;
:SENSE:FUNCTION:ON "VOLT:DC"
sense:voltage:dc:nplc 0.1;


#cmdMode VAC VOLT:AC
*cls;
:SENSE:FUNCTION:ON "VOLT:AC"

#cmdMode ohm RES
*cls;
SENSE:FUNCTION:ON "RES"
sense:res:nplc 1;


#cmdMode ohm4 FRES
*cls;
SENSE:FUNCTION:ON "FRES"
sense:fres:nplc 1;


#cmdMode c CAP
*cls;
SENSE:FUNCTION:ON "CAP"

#cmdMode d DIOD
*cls;
SENSE:FUNCTION:ON "DIOD"


#cmdMode hz FREQ:VOLT
*cls;
SENSE:FUNCTION:ON "FREQ"

#cmdMode Period PER:VOLT
*cls;
SENSE:FUNCTION:ON "PER"


#cmdMode temp TEMP
*cls;
:SENSE:FUNCTION:ON "TEMP"
sense:temp:nplc 1;


#cmdMode ADC CURR:DC
*cls;
:SENSE:FUNCTION:ON "CURR:DC"
sense:curr:dc:nplc 1

#cmdMode AAC CURR:AC
*cls;
:SENSE:FUNCTION:ON "CURR:AC"


#cmdMode Ratio VOLT:DC:RAT
*cls;
:SENSE:FUNCTION:ON "VOLT:DC:RATIO"


; Prepare the meter to response to #askValues
#prepareSample


; Initial commands to meter when establishing connection
#initCmd *lang scpi;FORMat:ASCii:PRECision MAXimum


; Final command to meter before breaking connection
#finalCmd *RST;