Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

GPIB: Command interval

Hello,

Recently, I met some problems when using GPIB to communicate with my
instrument.

My usage pattern is simple:
1. Send: send command
2. Read: wait and receive returned message.
and continuously repeat.

But, occasionally, the receiving step will fail!
And I checked the function exit status, which says something like EOI
(End of Identity)
complaints.

Whats wrong with this?

The following is my guess:
"Read" operation can not be triggered immediately when Send
operation finishes.
I am not familiar with GPIB internals, but it seems there
should be some intervals.
Recently I used some new model PCs (dual core) and the problem
seems to
come to be serious. This confirms me doubt.

Am I right.
Please give me some instructions.

Thanks in advance.

Ting

0 Kudos
Message 1 of 4
(3,870 Views)

Hi,

What instrument are you talking to?

What language are you using to program your instrument with?

Maybe you can post an example which highlights your problem.

Regards

Ray Farmer

Regards
Ray Farmer
0 Kudos
Message 2 of 4
(3,865 Views)
My instrument is not an off-the-shelf one. Its order-made by us.
But simple: measuring electric voltage and supplying a GPIB
interface for transferring the sampled data outside on request.

On the PC side, a GPIB board (Contec(R)) is mounted on the PCI
interface.

I pragram under VB, which uses the suppplied DLL for interacting with
the GPIB hardware.

I know this is an NI newsgroup, and my instruments are not in the
scope.
But wish somebody can give some hints on GPIB itself, if it is the
reason.

My GPIB communication pseudo code is (special to my vendor?):
(1). GpBoardSts // before sending
(2). GpTalk // sending request command message
(3). GpBoardSts // before reading
(4). GpListen // reading the message from instrument
... and loop to 1.

Because i use Visual Basic, my program is single threaded. And except
for some special mode, I only communicate with one instrument,
continuously.

I ever tried to insert intervals between (2) and (3), for example
20ms,
this seems effective! So I am troubled: is this the way GPIB goes? Or,
are
my GPIB interfaces flawed?

Any instructions are greatly appreciated.

Ting

0 Kudos
Message 3 of 4
(3,863 Views)
Howdy Ting,

It sounds like adding some additional timing/wait/delay time in your application will be your best bet. You could also try adjusting the GPIB bus timing to its lowest setting. I've actually seen this issue come up before, and we ended up going with the delay approach. I even managed to find KnowledgeBase 0R0FC772: GPIB Timeout Errors (EABO) after Updating to Faster Computers that explains it a bit further.

Best of luck with your application, and have a great day!
Warm regards,

pBerg
0 Kudos
Message 4 of 4
(3,847 Views)