Assuming you have one GPIB board, your application needs to change to
get the behavior you want. The board can only do one thing at a time, so if
you tell it you want to read from an instrument, and this takes several
seconds, then the board can't do anything else until the data comes in or
you send another command to kill the read. (This is true even if you use
the "asynchronous" GPIB calls.)
This is why GPIB devices can request service--you can send a command to
each instrument, and they send you a message when they're ready to send data
back to you. It's a way of having the instrument asynchronously notify you
when you should take action. The first instrument to complete its
acquisition will notify you first.
Another solution would be to use two
GPIB boards--one for each
instrument. You wouldn't have to change anything in your application,
except for configuring the address of the instruments.
I hope this helps explain what's going on.
Brian