Remote access to a Rigol DM3068 DMM

Image result for rigol dm3068

This is a 6 1/2 digit multimeter that is my primary tool for precision measurements of voltage and current. It measures many other things, but less frequently.

It wasn’t long before I started wanting to be able to record measurements, but I was initially put off by problems with software access and then for months there was always something more important. Recently I decided to arrange remote access and the rest of this page is about the head-bashing exercise I found necessary to get the kind of access I require.

The meter has wired ethernet and USB connections. For ethernet the meter theoretically supports a set of standards called “IXI” and within my preferred software environment (Python on Linux) there is a library callled “python-vxi11” that theoretically provides access to the instrument via ethernet and IXI protocols.

On the USB side the instrument supports “USBTMC” and again, there is a Python library (python-usbtmc) that claims to allow for access to the Rigol.

I found both of these libraries to be DOA, using latest stable versions on a fully patched Ubuntu 14.04 system. After a long, painful process I found a clue about the “lock_timeout” field in a vxi11 API object that needs special handling to get off square one with the Rigol, and this did allow me to control and measure with the meter 99{13079d06258ef9010cea88dee32f3cdfc6f216a54651010f7303ce6140ee927c} of the time.

The other 1{13079d06258ef9010cea88dee32f3cdfc6f216a54651010f7303ce6140ee927c} of the time the vxi11 API exploded or hung. After more horsing around I came to the realization that the Rigol randomly drops queries on the floor and the vxi11 interface neither detects nor recovers. I implemented retries and life got good, with the ability to log measurements from the meter for days at a time.

Example code and some applications coming to a GitHub repo soon.

Triangle Embedded Interest Group