Hello dbeng,
I would recommend looking at both VISA and IVI for better ways to program instruments over direct GPIB programming. VISA abstracts the physical layer when writing a driver or test application. This allows us to easily write one driver or test application that can be used with an instrument irregardless of whether it is connected via serial, GPIB, ethernet (VXIpnp-11), VXI, and so forth (you pass VISA a resource string or alias that tells it which physical layer to use at runtime). IVI is an instrument driver standard that abstracts instruments within classes (along with many other benefits such as state-cacheing (performance) and simulation). Instruments are interchangeable within classes (as long as the instruments offer the required precision and are wi
thin reasonable calibration). This allows you to write a test application that depends on an IVI DMM and IVI OScope rather than a specific DMM and OScope (you can interchange instruments if they break, require calibration, or are upgraded for example). Please investigate the following web links for further details:
http://www.ni.com/visa/
http://www.ni.com/ivi/
http://www.vxipnp.org/
http://www.ivifoundation.org/
Jeremiah Cox
Applications Engineer
National Instruments
http://www.ni.com/ask