Closed OlafEichstaedt closed 2 years ago
Currently pyvisa-py cannot discover by itself instruments on TCPIP but you can still connect to your instrument if you know the address (just use the same the ni backend gives you).
It is probably worth looking into how the python-vxi11 project implements list_resources() and list_devices().
I would also be interested in having this functionality. Currently working with a scope and function generator over ethernet. Same story though: from Windows using NI backend, list_resources() shows the instruments but from Ubuntu using pyvisa-py backend, they aren't listed. Connecting by explicitly passing the address works as expected.
Found this LXI Discovery Document that specifies the method for finding network devices:
The VXI-11 protocol should be supported by all LXI Devices for discovery purposes. If an LXI Device supports the VXI-11 Discovery Protocol, it shall be accomplished by issuing a broadcast RPC call on the host’s subnet. The broadcast RPC shall be to either the port-mapper itself on port 111 (querying for VXI-11 support) or the NULL procedure (procedure 0) on the Program Number assigned to the VXI-11 Core Service (0x0607AF).
Of course, I don't know how to do that even after a lengthy search... maybe somebody with more networking experience has an answer...
We used to communicate with an ASTERION AST-501 power supply over TCPIP using the default "@ni" backend. Since there seems to be an issue with longer command strings transmitted over TCPIP, we wanted to test the pyVIsa-py backend but had to notice that our instrument is not discovered by the resource_manager.
Is this a bug? Is it related to the device not being compatible with pyVisa-py? Or do we need to configure something else to make it work? Any suggestions on how we get closer to the root cause?
The ni-backend shows the device as 'TCPIP0::169.254.180.2::inst0::INSTR'.
pyvisa-info
pip list