Showing results for 
Search instead for 
Did you mean: 

VISA Error 1073807339 Timeout Expired Before Operation Completed, able to communicate with VISA



I downloaded a VI from the creator of my power supply and I am trying to use the VI to control the temperature remotely. I am using a RS232 to USB converter cable to communicate from my laptop to the power supply.


I setup iTools configuration (a program given by the creators to work with the power supply) to work through serial passthrough and I specified all other controls in the VI to be in accordance with the manual of the power supply. I am able to communicate using iTools, but not my labview program.


I do not have any other deceives attempting to access this port. The VI is timing out on the second function "Utility Read from Register". It seems to be not a time issue as the timeout is very long and the function is still unable to communicate. Any tips or ideas are appreciated. I worked through the troubleshooting page with no luck. I am using the example temperature control monitor VI, and the zip contains all the subVIs. 


Thank you for your time and knowledge,


0 Kudos
Message 1 of 9

Kindly down convert it into LV2020 or below. Not everyone have the privilege to use latest versions.

CLD Using LabVIEW since 2013
0 Kudos
Message 2 of 9

The first thing I would look at is your serial port settings, especially the Baud Rate.  If any of those values is wrong, your instrument will not understand what you are saying to it.

There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 3 of 9

@kartiknattar My apologies. This should be a copy from the 2016 version. I have been having problems with path errors for this file so let me know if it does not work. You can find the temperature controller under users/examples/temperature controller


thank you


@  I set the baud rate to 9600 as specified in the manual, I also tried 19200 as default on the program. I think what is confusing me the most is that the visa initialization is successful and passes on to the second function, but times out at the second function which only configures which mode the controller is in. This process seems to be very simple, and the only complication is when the instrument is in standby mode, which I never accessed. 

0 Kudos
Message 4 of 9


Your Eurotherm device is communicating through Modbus RTU and the library you are using is creating modbus frames. I would suggest you to try communicating with the device using modbus poll or NI modbus library. Since I dont have the instrument I cannot check the vi. Kindly check what is the break length of the device and verify the unit ID of the device

You can try below steps with modbus:

Connect to the device with correct slave address

Read the data that is saved at 199 address (Holding register) and then overwrite it with 2.

CLD Using LabVIEW since 2013
0 Kudos
Message 5 of 9


Thank you for your reply. The unit ID is default 1, and the break length is not specified in the manual but the program seems to work the best with break length of 2. 


I installed modbus poll and got a result that seems to suggest that I am not correctly communicating with the modbus protocol. (forgive me, I did not save the modbus poll screenshot and I am away from the machine now) In the name column, there were no entries, and in the 00000 column there were numeric entries. Given that I am able to use iTools and a second, more simple Eurotherm VI, this result is puzzling at best. Although I have never used modbus poll and it is very possible that I am making a mistake with the interfacing, I set the connection to automatic. I cant find in the manual how to overwrite a register. 

0 Kudos
Message 6 of 9

AS per the screen shot, the error states that the device is not connected. Make sure you have selected the correct com port and RTU for communication. You are reading from address 0 with length of 10. Change the address of holding register to 19 and set the length to 1.

Check the same with NI modbus library.

CLD Using LabVIEW since 2013
0 Kudos
Message 7 of 9

I disconnected the communication so that I could take a screenshot. In hindsight the screenshot may not have been necessary at all. Thank you for your further instruction I will check those registers on Monday when I am with the machine and get back to you. 

0 Kudos
Message 8 of 9

dear, kartiknattar


I was able to use chipkin to read from various addresses. When using the NI modbus package I am getting the same errors that I get when using the Eurotherm driver. I have attached the VI in case I am making an error in LabVIEW. Thank you.


0 Kudos
Message 9 of 9