10-30-2024 01:28 PM
I am trying to communicate over ethernet with a Uni-Trend UT8805E Digital Multimeter using pyvisa. I am able to open a connection and am able to write to the device without hassle (I think), as I am able to see changes on the screen on the device that line up with the commands I send. For instance, I am able to change the trigger source, trigger a measurement, change the measurement type. I am also sometimes able to use instrument.query() with several standard commands like *ESR?. However, if I try to use instrument.query("*IDN?"), I get an EOFError. Also, *ESR? returns 32, which I understand to mean the device didn't understand the command or the previous command hasn't been processed yet.
read_stb() returns 0. read_raw() throws a VI_ERROR_TMO (-1073807339): Timeout expired before operation completed (this error returns quickly, even if I make the timeout very long).
I am unable to query the ID, but can query some other standard commands. I am also unable to read or query any of the commands in the programming manual.
I am including a link to the programming manual here:
https://assets.testequity.com/te1/Documents/pdf/uni-t/Uni-T_UT8805E_Programming_Manual_0424.pdf
but I found it to be lacking information so I've also been looking at the manual for a similar device from the same company:
Lastly, I am doing this on an Ubuntu machine so I doubt
Any help is greatly appreciated.
10-30-2024 05:50 PM
One more data point. When I list_resources(), I do not see the device listed. However, when I try to connect, it does not throw an error, and when I run list_opened_resources(), it lists the connection.
10-31-2024 12:26 PM
Update #2:
I took the multimeter and connected it to a windows machine that has NI MAX. NI MAX was able to recognize the device immediately and can communicate no problem. Unfortunately, the desired set up involves the multimeter communicating with the Ubuntu computer.
01-29-2025 01:31 PM
I have exact the same problems. Strange is that a query like x =<instrument>.query('MEAS:RES?') works on my windows laptop but gives an error on both my MacBook and my raspberry pi5 no matter the pyton version.
01-29-2025 02:51 PM
I was actually able to figure this one out. It turned out there was a permissions issue on the Ubuntu machine I was trying to use. I'd never encountered that problem in Linux so it was pretty weird. I don't remember for certain what I did to fix it, but I believe this link will help:
https://superuser.com/questions/1085991/give-application-user-access-to-usb-device
You have to make a file in the udev rules directory that gives permission to a specific device using the vendor and device ID numbers of that device.
01-30-2025 03:14 AM
01-30-2025 08:42 AM
I’ve tried a termination with \r\n with no results.
01-30-2025 11:23 AM
Here is a snippet one of the Uni-Trend people sent me. I'm assuming you're using a Uni-Trend device. If not, you can probably disregard this.
Everything worked flawlessly for me once I gave the appropriate permissions, hopefully the same will work for you.
01-30-2025 11:24 AM
Oh, I also had to update the firmware of the UT8805E.
01-31-2025 04:22 AM
Dear BovineJoni,
My problem is not with the usb connection but with the lan connection though in the end, the results are the same as you had before. I added the rule with no result, also changed from "usb" to "net" with no result. I'm affraid this goes over my head for now. I'm a rookie in linux. Thanks for your help !