Skip to content

Instantly share code, notes, and snippets.

@sirmo
Last active July 17, 2017 19:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sirmo/8096cc1fef598762494e3d987befbfef to your computer and use it in GitHub Desktop.
Save sirmo/8096cc1fef598762494e3d987befbfef to your computer and use it in GitHub Desktop.
Interfacing to Fluke 8845/8846 over LAN.
import socket
import time
class Fluke884x(object):
def __init__(self, host=None, port=None):
self.host = host
self.port = port
self._connect()
self._set_remote_mode()
def _connect(self):
srvsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
srvsock.connect((self.host, self.port))
srvsock.setblocking(0)
self.srv = srvsock
def _set_remote_mode(self):
self.query('*cls')
self.query('System:remote')
self.query('disp off')
#self.query('conf:volt:dc 7')
self.query('conf:volt:dc:nplc 60')
def query(self, cmd):
self.srv.sendall(cmd+'\r\n')
if not cmd.lower() in ['read?', 'fetch?']:
return ''
buff = ''
while len(buff) == 0:
try:
buff += self.srv.recv(1024)
except socket.error:
time.sleep(1)
pass
return buff
if __name__ == '__main__':
fluke = Fluke884x('192.168.1.101', 3490)
res = fluke.query('Read?')
print '{}'.format(res)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment