Hello,
1. Serial Polling:
------------------
You can use serial polling to obtain specific information from GPIB devices when they request service. When the GPIB SRQ line is asserted, it signals the Controller that a service request is pending. The Controller must then determine which device asserted the SRQ line and respond accordingly. The most common method for SRQ detection and servicing is the serial poll.
If you'd like to read more about serial polling, see the following manual starting on page 8-12:
http://www.ni.com/pdf/manuals/370428b.pdf
2. Asyncronous vs Synchronous
-----------------------------
The asynchronous vs synchronous commands (such as ibrda vs. ibrd) are distinguished as follows:
The asynchronous I/O calls (ibcmda, ibrda, ibwrta) are designed so that applications can
perform other non-GPIB operations while the I/O is in progress. Once the asynchronous I/O
begins, further NI-488.2 calls are strictly limited. Any calls that would interfere with the I/O
in progress are not allowed; the driver returns EOIP in this case. Once the I/O is complete, the application must resynchronize with the NI-488.2 driver. Resynchronization is accomplished by using one of the following functions:
ibnotify - if the ibsta value passed to the ibnotify callback contains CMPL, the driver
and application are resynchronized.
ibwait - if the returned ibsta contains CMPL, the driver and application are
resynchronized.
ibstop - the I/O is canceled; the driver and application are resynchronized.
ibonl - the I/O is canceled and the interface is reset; the driver and application are
resynchronized.
You can find more about this in the NI-488.2 Function Reference Manual:
http://www.ni.com/pdf/manuals/370936a.pdf
Hope this helps!
Best Regards,
JLS