Keysight U1401B and Escort 2030 are process calibrators and multimeters in one device.
Using the infrared serial-USB connection and SCPI commands *IDN?, CONF? and STAT?
we can get some informations about them. There is also a loop for reading current and voltage.
The rotary switch is set to current output, voltage input.
Here the Python2 program:
# qy.py # query identification, configuration and status import serial import time dmm=serial.Serial(port='/dev/ttyUSB0', baudrate=9600, bytesize=8, stopbits=serial.STOPBITS_ONE) try: dmm.open() except Exception as e: print ('problem opening port: ' + str(e)) exit() slist = ['avg function','null function','unused','unused', 'peak-hold function','unused','trigger mode I-IMM,B-BUS,R-REF', 'slide position 0=M/S, 1=M','ambient temperature compensation', 'beep 0=OFF, 1,2,4=kHz, F=600Hz','auto power OFF', 'back lit','meter mode Local,Setup,Calibration', 'input warning','output warning', 'rotary pos(IO) 0=VP,1=VI,2=VV,3=mVV,4=RV,5=DV,6=IV,7=II,8=IP', 'output status 0=standby','rate 4:50000 counts','battery 1=low', 'power jack 1=plug in','auto 1=on'] print ("-----------------------------------------------") print ('qy: query status') # !!! dmm.write("*RST\r\n") # !!! time.sleep(4) dmm.write('*IDN?;:CONF?\r') dmm.flushInput() an1 = dmm.readline()[:-2] an2 = dmm.readline()[:-2] print 'Identification: ' + an1 print 'Configuration: ' + an2[1:-1] print ("-----------------------------------------------") dmm.write('STAT?\r\n') sta = dmm.readline()[1:-3] #print 'status:' + sta for i in range(len(sta)): print slist[i] + ": " + sta[i] print ("-----------------------------------------------") while True: time.sleep(2) dmm.write('CURR?;:READ?\r\n') dmm.flushInput() dat1, dat2 = dmm.readline(), dmm.readline() data = dat1[:-2] + ' ' + dat2[:-2] print (' -> ' + data) time.sleep(30)