09-24-2021 12:24 PM
I noticed that NI MAX can report GPIB device vendor and model apparently without communicating with the device(?). For example, the highlighted device does not support *IDN? command, but is identified nevertheless:
How does NI MAX do it over GPIB and how to do the same in labview>?
09-25-2021 09:59 AM - edited 09-25-2021 10:01 AM
GPIB has NO predefined method to query an instrument for this information other than actually talking with the instrument. While "*IDN?" is the SCPI defined method to do that, there are a few variants that have been quite common before SCPI was well known.
Early HP devices often used "ID?" and many other manufacturers used that as inspiration for their own designs.
To make it more robust you can also append a semicolon to both commands, although while this is an explicitly allowed character in SCPI to tell a device to take the command up to that point and use it even if there is more data after (which it will then parse after finishing the first command), I'm sure there are old devices that while responding to "ID?" might then still report an error as they do not understand the semicolon.
All in all I'm sure NI-MAX does a GPIB scan for connected devices, which is a build in feature of the GPIB bus and then simply tries a few query commands, most likely starting with "*IDN?" first and then probably a few more including "ID?" until it receives a response that resembles some identification string and if all fails just using a default for the manufacturer and model name.
You might also try to check the Manufacturer and Model property of a valid VISA session. It's quite possible that they will return the values that NI-MAX has determined with its trial and error method.