I have a GPIB device that I'm communicating with using a National Instruments USB to GPIB.  the USB to GPIB works great.  
I am wondering what can cause a GPIB device to be unresponsive?  If I Turn off the device and turn it back on it will respond, but when I run my program it will respond at first.  It then cuts off I can't even communicate with the GPIB device it just times out.  
Did I fill up the buffer?
Some specifics from another questioner
I'm controlling a National Instruments GPIB card (not USB) with PyVisa. The instrument on the GPIB bus is a Newport ESP300 motion controller. During a session of several hours (all the while sending commands to and reading from the ESP300) the ESP300 will sometimes stop listening and become unresponsive. All reads time out, and not even *idn? produces a response.
Is there something I can do that is likely to clear this state? e.g. drive the IFC line?
There should be a clear command (something like "*CLS?", but dont quote me on that). I always run that when i first connect to a device. Then make sure you have a good timeout duration. I found for my device around 1 second works. Less then 1 second makes it so I miss the read after a write. Most of the time, a timeout is because you just missed it or you are reading after a command without a return. Make sure you are also checking for errors in the error queue in between write to make sure the write actually properly when through.
What can cause a GPIB to be unresponsive