ni.com is currently undergoing scheduled maintenance.
Some services may be unavailable at this time. Please contact us for help or try again later.
07-15-2009 01:03 PM
Using LabView version 7.1, VISA 4.4.1, and communicating using RS-232 to an Agilent 34970a with a 34903 20-channel actuator card.
On using the example VIs and drivers downloaded from the Agilent website, I am able to send commands to open and close switches on the 34903 card without issue most of the time. However, I have discovered that, whether using the 'open' or 'close' command, that the length of the command string matters.
If the command string, which will look something like: ROUT:OPEN (@101,102,103), has a total number of characters of 80 or less, then there's no problem. If the total number of characters is greater than 80 (like if I ask it to close or open all 20 channels on the card), then I get Agilent erros 521 (Input buffer overflow) and -103 (Invalid separator).
It seems as though somewhere in the path of generating the byte string to send to the instrument that something like a CRLF character is being inserted after the old standard 80 bytes. But a probe on the string which is being sent to Visa Write doesn't reveal any such thing. Any thoughts on where this might be happening (within VISA?) and what I might do to correct it?
This is odd because I'm able to write a much longer configuration command string (many hundreds of characters) when configuring an 34901 card for temperature measurement.
Your suggestions are greatly apprecaited,
Troy.
07-15-2009 01:47 PM
The termination character is required by the instrument to process the command and you should not get rid of it. It is being sent after every command.
You said you got the driver from Agilent. Have you tried the driver from NI?
07-15-2009 02:50 PM
07-15-2009 03:29 PM
07-15-2009 06:46 PM
Dennis, Thanks for your attempts to help
It turns out that I was making an operator error (of the somewhat embarassing kind) and that now the issue has been solved. 😉
Thanks again,
Troy
09-02-2009 04:53 PM
I'm experiencing the same issue, I've only noticed this problem after switching over to a serial server instead of a direct connection. Could you give me information on the "operator error" that you determined so that I can check if I'm doing the same?
Thanks,
Randy
09-03-2009 06:40 PM
Hi Redrabbit,
What do you mean by a serial server? You could take a look at a spy capture to try and see what is different between the two cases. Let me know if you’re still having problems.
09-03-2009 08:03 PM
By serial server I mean a device which connects to the LAN and provides access to serial devices via virtual com ports (mapped over the network). I actually figured out what I was doing differently vs. the directly connected instance of this application, I had set everything up with no flow control whereas in the direct connect it was setup as XON/XOFF. Not sure why I can't make "no flow" work (all devices are set appropriately) but I guess I'll shrug and move on.
Thanks,
Randy
04-09-2010 10:34 PM - edited 04-09-2010 10:36 PM
Hello,I recently started to learn LabVIEW,and I've met with the problem you used to met.Now I am eager to know what kind of "operator error" you meaned about .Could you tell me about it?
thanks
jiacheng
04-09-2010 10:43 PM
Hello,I've read the posts you wrote about seven months ago.I now met the same error .Could you tell me how did you eliminate the "error 521:Input buffer Overflow".
thanks
jiacheng