Troubleshooting IL1700 VISA Errors BFFF003E and BFFF0015

Ryan Tanaka5 min read
Other ManufacturerSerial CommunicationTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

On the LabVIEW front panel, the IL1700 radiometer returns unreadable characters instead of a usable reply. A VISA query such as *IDN? reports BFFF003E, while another read may end with BFFF0015. Start here: compare every RS-232 port setting with the instrument configuration. In this installation, the real fault was the baud-rate setting.

Stop applying the wrong fixes

These responses can look like failed hardware or a broken VISA installation. The fact that characters arrive matters. It means the communication path may be active while the receiver interprets the bit stream incorrectly.

Symptom Likely cause or next decision
Unreadable or nonsensical characters Check baud rate first, followed by parity, data bits, and stop bits.
BFFF003E VI_ERROR_IO; inspect serial configuration and captured port activity.
BFFF0015 VI_ERROR_TMO; the operation did not complete before the configured timeout, often because the expected data never arrived.
No response to *IDN? Confirm that the instrument recognizes that command and that the required command terminator is being transmitted.
  • Do not increase the timeout to cure corrupted characters. A longer wait cannot correct the wrong baud rate or framing.
  • Do not keep sending *IDN? as a universal test. Check the IL1700 command documentation before treating silence as a transport failure.
  • Do not replace the instrument or PC first when the port is already receiving characters. Validate configuration and wiring before condemning hardware.
  • Do not troubleshoot the read alone. The write, termination method, instrument response, and read form one transaction.

Decode the two VISA errors

BFFF003E identifies VI_ERROR_IO, an input/output error. With an RS-232 instrument, work backward through the serial layer: port selection, baud rate, character framing, flow control, wiring, and the command format expected by the instrument.

BFFF0015 identifies VI_ERROR_TMO. VISA started an operation but did not receive enough data or otherwise finish before its timeout expired. That is not automatically a timeout-setting fault. A mismatched baud rate, wrong parity, missing terminator, unsupported command, absent response, or incorrect read completion condition can all leave the read waiting.

Use LabVIEW Help and search for VISA error codes to translate this hexadecimal nomenclature. You can also right-click the error output and select Explain Error to obtain the text description. Decode the status before changing the program.

Match every serial setting

Check the baud rate first because it caused this installation's failure. Compare the configured value at both ends; do not infer it from the characters displayed. A receiver using the wrong rate samples the data bits at the wrong times, producing corrupted bytes even though electrical activity reaches the port.

Then compare the remaining framing and handshake settings against the IL1700 documentation or its local configuration:

  • PC serial port selected by the VISA resource.
  • Baud rate.
  • Number of data bits.
  • Parity mode.
  • Number of stop bits.
  • Hardware, software, or no flow control.
  • Command terminator and response terminator.

A correct baud rate with wrong parity or character framing can still produce bad characters or rejected frames. A flow-control mismatch can block transmission completely. A termination mismatch can let bytes arrive while VISA continues waiting for the read to finish.

Reconfigure the VISA session

  1. Stop repeated polling so each test produces one traceable request and one expected response.
  2. Open the IL1700 communication documentation or read the instrument's serial configuration. Record each port setting without guessing missing values.
  3. Confirm that the VISA resource points to the physical PC port connected to the radiometer.
  4. Set the LabVIEW VISA session to the same baud rate as the IL1700. This is the corrective action that restored communication in the reported Windows 2000 Pro and LabVIEW 7 Express setup.
  5. Match data bits, parity, stop bits, and flow control.
  6. Configure termination according to the instrument's command protocol. If termination is handled explicitly in the transmitted string, avoid unintentionally appending another terminator.
  7. Open the session, send one documented command, read the reply, and close the session cleanly after the test.
  8. Run the test again before changing any second variable.

Change one setting at a time. If several fields change together, a successful test will not identify the correction and a failed test will not narrow the fault.

Inspect the transaction

Use NI Spy to observe what LabVIEW sends to and receives from the serial port. Capture the failing transaction, then compare it with a transaction after correcting the baud rate. Focus on the operation sequence, transferred byte counts, returned status, and where the delay occurs.

  • If the write fails immediately, inspect the selected resource, session state, port ownership, and serial interface.
  • If the write succeeds but no bytes return, check the command, terminator, wiring direction, flow control, and instrument state.
  • If bytes return as unreadable characters, recheck baud rate and framing.
  • If readable bytes arrive but the read ends with BFFF0015, compare the received length and terminator with the read completion rule.
  • If the trace shows the expected response but the display looks wrong, inspect how the application converts and presents the received byte string.

Verify the repair

Do not accept one clean display as proof. Repeat the same documented transaction several times without changing configuration. The reply must remain readable, the command-response order must stay stable, and neither BFFF003E nor BFFF0015 should recur.

Record the working serial settings with the application configuration. Restart the VISA session and repeat the test so the result does not depend on settings retained by an already-open port. If the application performs consecutive reads, verify that each response ends at the intended terminator or byte count and that no bytes leak into the next transaction.

FAQ

What happens if the IL1700 baud rate is wrong?

The receiver samples the serial stream at the wrong rate, so LabVIEW may display nonsensical characters and VISA may report BFFF003E. Match the VISA baud rate to the IL1700 setting before changing the timeout.

What happens if VISA receives data without the expected terminator?

The read can continue waiting even after some bytes arrive, then return BFFF0015 when the timeout expires. Compare the instrument's response terminator with the VISA read configuration.

When should I stop troubleshooting and contact official support?

Stop after you have matched every documented serial setting, verified the cable and port, captured one transaction, and reproduced the failure with a documented IL1700 command. Escalate through the official instrument or VISA support channel with the trace, exact error code, working port settings, command bytes, returned bytes, and the point at which the transaction fails.

Back to blog