VXI-11 (LXI) LAN control with Python — no sockets required
Some instruments have LAN but no raw socket. VXI-11 is the LXI-standard answer — a tiny Python library controls them on Windows, Linux and Raspberry Pi.
VXI-11 is the RPC protocol behind LXI instrument control. It needs no VISA installation, runs anywhere Python runs (including Raspberry Pi and other single-board computers), and — crucially — it works on Siglent models whose LAN port has no open socket: SDS2000/SDS2000X, SDS1000X/X+ and SPD3000X/XE.
Install
pip install python-vxi11
Connect and control
import vxi11
inst = vxi11.Instrument('192.168.1.110')
print(inst.ask('*IDN?'))
inst.write('TDIV 1MS') # example: SDS timebase 1 ms/div
print(inst.ask('SARA?')) # sample rate querySiglent Technologies,SDS2304X,SDS2XJBD1R0001,1.2.2.2 R19 SARA 1.00GSa/s
ask() = write + read in one call; use write() / read() separately for binary transfers such as waveform dumps.
Why choose VXI-11 over raw sockets?
- It is the only LAN route on the older models listed above
- Discovery and instrument-side error handling are built into the protocol
- Identical code on Windows, macOS, Linux and Raspberry Pi
For new automation on current instruments, raw sockets (port 5025) are simpler and faster; keep VXI-11 in the toolbox for the models that need it and for mixed fleets.
Instruments used in this note
Related application notes
Our engineers use these instruments daily — ask us anything.