Page 1 of 1

Overriding input buffer on K3706.

Posted: July 6th, 2011, 5:30 am
by Christopherlbd
Hi. I've been using Keithleys for a while, specially tsp series, but this is my first post on the forum.

I've encountered a problem today while trying to pass a higher than usual biasing points in a function call connecting the system via IEEE 488 and LabVIEW. For my case (understanding that I transmit another 8 or 9 parameters) I get an input buffer overrun error [-363] when I send more than 115 biasing points, which are passed as a parameter through the function call.
I'm wondering if I'm limited by:
1. IEEE 488 maximum single transmission package size (I have to admit, I do not know the transmission mechanisms of GPIB, and if there is a maximum size for a data package, started to read the IEEE standard but felt like I didn't have time to go through that).
2. There's no impediment on the GPIB, but K3706 does have a small size input buffer that I'm overrunning.

K3706 is linked by tsp-link to a K2601 who is in charge of biasing and reading data. I sincerely think that this should be resolved, since it limits the autonomous operation of TSP equipment.

I would appreciate any insight on this matter. Thanks in Advance!

Re: Overriding input buffer on K3706.

Posted: July 7th, 2011, 12:06 pm
by Andrea C
Hello,

The input buffer has a finite size and so if you are trying to send a very large number of characters all at once, then you will get the error the -363 error.

You mention the use of 2600 Series together with the 3700.

If you could, look at the implementation for the "Load Script.vi" located in the \Public\Utility\Scripting directory for where the 2600 Instrument driver is installed on your system. This shows the use of a - line to send a script line by line so that the size of each transfer stays within the input buffer size.

Andrea

Re: Overriding input buffer on K3706.

Posted: July 11th, 2011, 1:12 am
by Christopherlbd
Hi Andrea,
Thank you very much for the reply. I am familiar with sending scripts line by line. In fact, I implemented a labview .vi to load all scripts at once everytime we generate a new firmware. However, when sending a function call, I wonder how to deal with delimiters between lines. Can you just send chunks of the function call in the same fashion, neglecting line delimiters?
Thanks in advance!.

Re: Overriding input buffer on K3706.

Posted: September 29th, 2017, 7:26 am
by Tomislav
Christopherlbd wrote:
July 11th, 2011, 1:12 am
Hi Andrea,
Thank you very much for the reply. I am familiar with sending scripts line by line. In fact, I implemented a labview .vi to load all scripts at once everytime we generate a new firmware. However, when sending a function call, I wonder how to deal with delimiters between lines. Can you just send chunks of the function call in the same fashion, neglecting line delimiters?
Thanks in advance!.
Hi, I am have similiar issue with Keithley 3706A. I am calling Lua function from Python script, I believe the problem occurs because I send to manny characters at once when Lua function is called. There I get -363 input buffer over-run error. Did you manage to solve your issue?

Thanks you

Re: Overriding input buffer on K3706.

Posted: January 5th, 2018, 11:37 am
by Dave W
While the input buffer on the 3706 is fairly large, most scripts of an appreciable size will be too big to send to the instrument all in one write. The best method for sending over scripts to be saved in instrument memory is to send them over one line at a time as it is unlikely for your script to contain a single line that is larger than the input buffer. After you send the loadscript command, each line sent after this command will just be interpreted as just another line in the script being loaded and will not be executed at the time sent. Sending the endscript command will tell the instrument you have finished sending the script and it can go back to interpreting commands as normal.