Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

GPIB error.

I am working on the communication between semiconductor tester and handler. i found out that there is an error(very seldom) when the tester tries to communicate with the handler. The query that the tester sent is "ID?", but the handler only receive "D?". SOmehow the I is missing. this seems to occur randomly and very seldom. Can anybody tell me in what instance will such error occur and how to solve them. Thanks you.
0 Kudos
Message 1 of 3
(3,253 Views)
I assume from your wordings that you have written the handler yourself? How is that coded? If you are in a read loop that has a timeout value, this can easily happen. The IEEE 488.1 standard does not allow for a listener to suddenly decide not to listen. That is exactly what a timeout does. Timeouts are usually implemented in drivers to allow the application to recover when the device is not communicating properly. However, if the timout occurs when communication is happening on the bus, a byte can be lost.

If you are writing the device-side handler, I recommend never using timeouts. Either use:
  1. Asynchronous I/O with ibwait calls to stop the I/O if necessary
  2. Synchronous I/O with no timeouts (however, this will limit your application)

    i>NI-Device, which is a device driver that is designed for device-side communication.

Hope this helps.
0 Kudos
Message 2 of 3
(3,253 Views)
thanks. can it be that my gpib cable is too long that it will cause this prob too?
Unfortunately the handler is not programmed by me. But this prob didn occur until i add 2 extra queries from the tester (tempcontrol? ...) then the error occurs. if its timeout prob isnt that it will always occur? i test run for 100 times and no errors occur. but i know the error is there and cannot release to prod. and the frustrating thing is that i cant reproduce the error to debug.
0 Kudos
Message 3 of 3
(3,253 Views)