Serial Device Works in Hyperterminal But Not in LabVIEW or VISA Test Panels

Updated Jul 3, 2018

Reported In

Software

  • LabVIEW

Driver

  • NI-VISA

Issue Details

Why does my serial instrument work in Hyperterminal, but not in LabVIEW or VISA Test Panels in Measurement & Automation Explorer (MAX)?

Solution

Serial instruments may work in Hyperterminal but not LabVIEW or VISA Test Panels in NI-MAX for two reasons: different termination characters and speed of character transmissions. Use the following two techniques to resolve potential problems related to these two causes.
  1. Verify that the termination characters used in Hyperterminal match those in LabVIEW.
    • Typically, Hyperterminal appends a \r\n, which corresponds to a carriage return followed by a line feed, at the end of each message it sends.
    • You can use the \Codes Display of string controls and indicators in LabVIEW to verify that the termination characters are consistent. For example, you can write out a string in Hyperterminal and read it back into LabVIEW using a loopback test (How to So a Serial Loopback Test). This will allow you to determine which termination characters Hyperterminal uses. Then, write out the same string in LabVIEW and read it into LabVIEW using a loopback test. Compare these input values to determine whether the termination characters match each other.
  2. Slow down the rate at which you send command strings to the instrument. (If the serial instrument is an older instrument and/or doesn't have hardware control on it, then how fast LabVIEW and/or a VISA Test Panel in NI-MAX writes out serial data can be an issue.)
    • Hyperterminal will write out the characters to the serial port as they are typed into Hyperterminal. Therefore, when the word string is typed, Hyperterminal sends 6 individual characters: first s, then t, then r, and so on through the end of the string at which point it sends the termination characters.
    • LabVIEW, on the other hand, will take the entire string, and write it to the instrument all at once with no delay between characters. You can test this by using a for loop to write the string out to the instrument and have it write one character at a time, with a small delay between each character (i.e. each iteration) in the loop. To find a drop in replacement for the VISA as well as a example application using the VI (Serial One Byte at a Time)

WAS THIS ARTICLE HELPFUL?

Not Helpful