Solution
There are several reasons why you might receive this error message, the most common of which are detailed below:
A) Software is missing. Make sure you have the required software installed:
- NI-VISA
- NI-Serial (for instruments using serial communication as RS232, RS422, RS485, etc)
- NI-488.2 (for instruments using GPIB communications)
Note: You must install NI-488.2 driver software before installing any new NI GPIB hardware devices so Windows can detect them.
For more information about the software required, as well as techniques to get an instrument up and running in your system, visit the document:
Troubleshooting Instrument Drivers
B) The port isn’t connected, or is not being able to send/receive data. Check the instrument is properly plugged in to the port you're using.
C) A timeout error is generally indicative of a different problem. Check the command strings sent to the VISA Read and VISA Write calls and ensure that they are written in the proper syntax for your instrument.
Note: A new line or carriage return is often required at the end of a command. A good way to test this in LabVIEW is to right-click the command string control on the front panel and change the display to '\' Codes Display mode. In this mode, a carriage return is \r, a line feed is \n, and an end of line is \r\n. Verify that the command being sent to the serial device has the termination character that the device requires.
D) The port's communication settings may not be configured correctly. Verify that the Baud Rate, Data Bits, Parity, Stop Bits, and Flow Control are set correctly to correspond with your hardware requirements.
Note: You can change these settings programmatically during run-time with VISA VIs, or in NI-MAX as in the example below:

E) This error may be induced by attempting to read more bits than are available at the serial port.
E.1) The VISA Property Node for Bytes At Port should be implemented to ensure that the data read by VISA is limited to exactly the amount of data available.

E.2) Additionally, you can verify that you are not trying to read too many bytes by reading only 1 byte at a time. If you do not get the error when doing so, increment the number of bytes you read until you get the timeout error again. This tells you how many bytes that command sends back.
Note: If you still receive the error while reading only 1 byte, verify the command to make sure it has been written correctly and that you have also terminated the command string correctly (as brought up in solution C).
F) Older instrumentation may not respond rapidly to commands written to the port, causing a large delay between VISA Write and VISA Read commands. Applications designed to interface with this type of instrumentation should anticipate this delay, and implement a Wait function between VISA Write and Read to effectively avoid a potential timeout error.

G) Timeouts can also occur when you read or write large amounts of data, since large data sets often take longer than the default timeout period of 2000 ms to transfer across the serial port. You can manually designate the VISA Session Timeout in different ways, depending on your development system. Please see below for instruction on setting the VISA Timeout:
LabVIEW: You can use VISA Set Timeout located in the Functions palette under Instrument I/O » VISA » VISA Advanced. Refer to Configuring Timeout for VISA Sessions.

LabWindows/CVI: You can use the viSetAttribute function with its Attribute_Name parameter is set to VI_ATTR_TMO_VALUE.
Note: Changing the Timeout value for your VISA session will affect all VISA Writes and Reads in your session. However, you are able to set this property/attribute at any point during the session, allowing you to configure it as needed.