07-23-2013 03:39 PM - edited 07-23-2013 03:41 PM
I am new to using GPIB and the GPIB-USB-HS. I'm writing a C# application, and it's surprisingly tough because the NI4882 help file only says "see the example code" and the three example programs are pitiful.
Anyway, after half a day doing web research and using Visual Studio's IntelliSense to scope out what the docs should've told me, I now know how to instantiate NI4882.Board objects, ask them to enumerate listener addresses, and then instantiate NI4882.Device objects and use them to collect *idn? information from all listeners. I'm almost cookin' with gas!
The thing is, one of the devices returns this string: HEWLETT-PACKARD,34401A,0,10-5-2.
It's an Agilent DMM, and that 0 is the serial number. Is this normal? Am I supposed to somehow load its serial number into nonvolatile memory so it can answer up properly in the future; or are all GPIB devices expected to have proper serial numbers already?
My application will use a database to match device calibration dates and capabilities against what it detects on the bus, so I'm frankly a little worried if there's no way to get a device to return a unique ID.
Is there any other command you might normally use to get a GPIB device to uniquely identify itself?
07-23-2013 04:08 PM
That field is set to 0 by default. You can change it, see page 95 and 99 of the manual:
http://cp.literature.agilent.com/litweb/pdf/34401-90004.pdf
-AK2DM
07-31-2013 12:20 PM
Thanks, AK2DM. Actually those pages tell how to change different things: the security code and calibration string. But that's okay. It seems it *is* normal for this device to return 0 as its serial number.
I believe I'll be able to code my system to simply reject using measurement equipment that doesn't return a serial number. We have Fluke DMMs that answer up with their serial numbers, so I can use them instead of the old Agilent/HP ones.