Product(s) :

Integra Mainframe: 2701


Question : Why does my VISA based connection to 2701 Ethernet Connection Execute so slowly?


A slow execution symptom appears when doing consecutive reads to an Ethernet based instrument a loop.

When VISA installs, the VI_ATTR_TERMCHAR_EN attribute is set to false by default. This attribute turns on or off a flag that determines whether the viRead operation will return when a terminator character is received. When it is set to false, the viRead statement will wait until it times out before it returns rather than return upon receipt of the terminating character from the instrument. This seems to affect only Ethernet based communication over VISA.

The fix is to set this flag to true so that the read will terminate when the terminator character is received from the instrument. This will significantly increase the speed performance of the code. Below is a pseudo code for how to set this attribute to true.


status = viSetAttribute(sesn, VI_ATTR_TERMCHAR_EN, VI_TRUE)

©Copyright 2003, Keithley Instruments, Inc.