We can also have a bit of fun with the "D" command
Thanks for your research! It got me headed in the right direction for my 196 GPIB efforts. I'm using Keysight's latest Connection Expert, Python 2.7.14 and PyVISA 1.8, so YMMV. Here a couple of little programs:
#Run autoCal
import sys
import time
import visa
visa = visa.ResourceManager()
print(visa.list_resources())
DMM196 = visa.open_resource('GPIB0::8::INSTR',send_end=True, read_termination= '\r\n', write_termination='\r\n')
DMM196.write("DX")
DMM196.write("DAUTO CALX")
DMM196.write("A1X")
time.sleep(10) # 1 sec increments
DMM196.write("DX")
print 'done'
#Read some measurements to a file
import sys
import time
import visa
visa = visa.ResourceManager()
print(visa.list_resources())
DMM196 = visa.open_resource('GPIB0::8::INSTR',send_end=True, read_termination= '\r\n', write_termination='\r\n')
DMM196.write("DX")
DMM196.write("F0R3S3P60X")
DMM196.write("DF0R3S3P60X")
print ''
data = open('dataDMM196.csv','w')
print (data)
for x in range(0, 200):
print (DMM196.read()[4:17])
data.write (DMM196.read()[4:16] +'\n')
time.sleep(1) # 1 sec increments
data.close()
The VISA library (Keysight version at least) makes the communication easier over GPIB, so I don't know how it would translate into Arduino, etc.